Commit 4389f14
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- datafusion/datasource/src/file_scan_config
2 files changed
+591
-538
lines changed
0 commit comments