@@ -108,8 +108,8 @@ class TableSnapshot::Iterator final : public DB::IObjectIterator
108108 {
109109 scan = KernelUtils::unwrapResult (ffi::scan (snapshot.get (), engine.get (), /* predicate */ {}), " scan" );
110110 scan_data_iterator = KernelUtils::unwrapResult (
111- ffi::kernel_scan_data_init (engine.get (), scan.get ()),
112- " kernel_scan_data_init " );
111+ ffi::scan_metadata_iter_init (engine.get (), scan.get ()),
112+ " scan_metadata_iter_init " );
113113 }
114114
115115 void scanDataFunc ()
@@ -118,8 +118,8 @@ class TableSnapshot::Iterator final : public DB::IObjectIterator
118118 while (!shutdown.load ())
119119 {
120120 bool have_scan_data_res = KernelUtils::unwrapResult (
121- ffi::kernel_scan_data_next (scan_data_iterator.get (), this , visitData),
122- " kernel_scan_data_next " );
121+ ffi::scan_metadata_next (scan_data_iterator.get (), this , visitData),
122+ " scan_metadata_next " );
123123
124124 if (have_scan_data_res)
125125 {
@@ -204,14 +204,10 @@ class TableSnapshot::Iterator final : public DB::IObjectIterator
204204
205205 static void visitData (
206206 void * engine_context,
207- ffi::ExclusiveEngineData * engine_data,
208- const struct ffi ::KernelBoolSlice selection_vec,
209- const ffi::CTransforms * transforms)
207+ ffi::SharedScanMetadata * scan_metadata)
210208 {
211- ffi::visit_scan_data (engine_data, selection_vec, transforms, engine_context, Iterator::scanCallback);
212-
213- ffi::free_bool_slice (selection_vec);
214- ffi::free_engine_data (engine_data);
209+ ffi::visit_scan_metadata (scan_metadata, engine_context, Iterator::scanCallback);
210+ ffi::free_scan_metadata (scan_metadata);
215211 }
216212
217213 static void scanCallback (
@@ -220,6 +216,7 @@ class TableSnapshot::Iterator final : public DB::IObjectIterator
220216 int64_t size,
221217 const ffi::Stats * stats,
222218 const ffi::DvInfo * /* dv_info */ ,
219+ const ffi::Expression * /* transform */ ,
223220 const struct ffi ::CStringMap * partition_map)
224221 {
225222 auto * context = static_cast <TableSnapshot::Iterator *>(engine_context);
@@ -300,7 +297,7 @@ class TableSnapshot::Iterator final : public DB::IObjectIterator
300297
301298private:
302299 using KernelScan = KernelPointerWrapper<ffi::SharedScan, ffi::free_scan>;
303- using KernelScanDataIterator = KernelPointerWrapper<ffi::SharedScanDataIterator , ffi::free_kernel_scan_data >;
300+ using KernelScanDataIterator = KernelPointerWrapper<ffi::SharedScanMetadataIterator , ffi::free_scan_metadata_iter >;
304301
305302 const KernelExternEngine & engine;
306303 const KernelSnapshot & snapshot;
@@ -395,7 +392,7 @@ void TableSnapshot::initSnapshotImpl() const
395392 read_schema = getReadSchemaFromSnapshot (scan_state.get ());
396393 LOG_TRACE (log, " Table read schema: {}" , fmt::join (read_schema.getNames (), " , " ));
397394
398- partition_columns = getPartitionColumnsFromSnapshot (scan_state .get ());
395+ partition_columns = getPartitionColumnsFromSnapshot (snapshot .get ());
399396 LOG_TRACE (log, " Partition columns: {}" , fmt::join (partition_columns, " , " ));
400397}
401398
0 commit comments