Skip to content

Commit 4389f14

Browse files
authored
refactor: extract sort pushdown logic from FileScanConfig into separate module (#21457)
## Which issue does this PR close? Closes #21433 ## Rationale for this change As noted by @alamb in #21182 (comment), `file_scan_config.rs` has grown large after the sort pushdown optimization. This PR extracts the sort pushdown helpers into their own module to improve readability and maintainability. ## What changes are included in this PR? Move sort pushdown logic from `file_scan_config.rs` (3591 → 3066 lines) into a new `sort_pushdown.rs` module (576 lines): - `rebuild_with_source`, `try_sort_file_groups_by_statistics` - `sort_files_within_groups_by_statistics`, `any_file_has_nulls_in_sort_columns` - `validate_orderings`, `is_ordering_valid_for_file_groups` - `get_projected_output_ordering`, `ordered_column_indices_from_projection` - `SortedFileGroups` struct `try_pushdown_sort` stays in the `DataSource` impl — it calls into the new module. ## Are these changes tested? Pure refactor, all existing tests pass (120 passed). ## Are there any user-facing changes? No.
1 parent e8990c4 commit 4389f14

File tree

2 files changed

+591
-538
lines changed

2 files changed

+591
-538
lines changed

0 commit comments

Comments
 (0)