From a7cbacc0f49a56a8c03cede48f5000552dea1b49 Mon Sep 17 00:00:00 2001 From: "xiao.dong" Date: Mon, 28 Jul 2025 09:40:49 +0800 Subject: [PATCH] feat: pass partition schema to manifest reader --- src/iceberg/table_scan.cc | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/iceberg/table_scan.cc b/src/iceberg/table_scan.cc index 8a37d3627..43deb2aca 100644 --- a/src/iceberg/table_scan.cc +++ b/src/iceberg/table_scan.cc @@ -151,11 +151,13 @@ Result>> DataTableScan::PlanFiles() co ICEBERG_ASSIGN_OR_RAISE(auto manifest_files, manifest_list_reader->Files()); std::vector> tasks; + ICEBERG_ASSIGN_OR_RAISE(auto partition_spec, context_.table_metadata->PartitionSpec()); + auto partition_schema = partition_spec->schema(); + for (const auto& manifest_file : manifest_files) { - ICEBERG_ASSIGN_OR_RAISE( - auto manifest_reader, - ManifestReader::MakeReader(manifest_file.manifest_path, file_io_, - /* TODO(xiao.dong) partition schema*/ nullptr)); + ICEBERG_ASSIGN_OR_RAISE(auto manifest_reader, + ManifestReader::MakeReader(manifest_file.manifest_path, + file_io_, partition_schema)); ICEBERG_ASSIGN_OR_RAISE(auto manifests, manifest_reader->Entries()); // TODO(gty404): filter manifests using partition spec and filter expression