Skip to main content

make_partitioned_execution_plan

Function make_partitioned_execution_plan 

Source
pub fn make_partitioned_execution_plan(
    schema: Arc<Schema>,
    reader_factory: Arc<ReaderFactory>,
    state: &dyn Session,
    projection: Option<&Vec<usize>>,
    filters: &[Expr],
    limit: Option<usize>,
    partitions: Arc<Vec<Partition>>,
    output_ordering: &[ScanSortColumn],
    ordering_bounds: OrderingBounds,
) -> Result<Arc<dyn ExecutionPlan>, DataFusionError>
Expand description

Creates a partitioned execution plan for scanning Parquet files.

output_ordering declares an ordering the scan’s rows already satisfy (see View::get_scan_output_ordering). When non-empty, the file group is sorted by the leading column’s bound (read per ordering_bounds) and checked for non-overlap (erroring if violated), per-file min/max statistics are attached so DataFusion accepts the declared ordering, and the ordering is attached to the resulting FileScanConfig so EnforceSorting can elide a redundant Sort node. When empty, behavior is unchanged from before this parameter existed, and ordering_bounds is unused.