Skip to content

Commit 0064fc9

Browse files
Refactor: extract BaseScan and ManifestGroupPlanner
Pure refactor of the table-scan hierarchy with no behavioural change, isolating the scan-architecture work from the upcoming incremental append scan feature (split out of #3364 per reviewer request). - Introduce BaseScan(ABC) as a superclass of TableScan holding the snapshot-independent surface (row filter, options, limit, chaining helpers, and the format-converter sinks built on to_arrow). TableScan keeps snapshot_id, catalog, table_identifier, snapshot(), use_ref() and abstract count(), so its existing surface is unchanged. - to_pandas/to_polars become concrete defaults on BaseScan and to_duckdb/to_ray move up too. This loosens, but does not break, TableScan's abstract contract. to_arrow_batch_reader stays concrete on DataScan (not abstract on BaseScan) so external TableScan subclasses that were valid before still instantiate. - Extract ManifestGroupPlanner from DataScan and route all of DataScan's local planning (scan_plan_helper and _plan_files_local) through it, so the partition/metrics/residual evaluators live in exactly one place. - Preserve all docstrings and explanatory comments. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 43d1f1f commit 0064fc9

2 files changed

Lines changed: 316 additions & 218 deletions

File tree

0 commit comments

Comments
 (0)