Skip to content

Use leaf level ProjectionMask for parquet projections#20925

Draft
friendlymatthew wants to merge 2 commits intoapache:mainfrom
pydantic:friendlymatthew/update-projections-for-structs
Draft

Use leaf level ProjectionMask for parquet projections#20925
friendlymatthew wants to merge 2 commits intoapache:mainfrom
pydantic:friendlymatthew/update-projections-for-structs

Conversation

@friendlymatthew
Copy link
Contributor

Please review from the third commit

Rationale for this change

This PR reuses the ParquetReadPlan (introduced for the row filter pushdown) to also resolve projection expressions to parquet leaf column indices

Previously, projecting a single field from a struct with many children would read all leaves of that struct. This aligns the projection path with the row filter path, which already had leaf-level struct pruning

@friendlymatthew friendlymatthew changed the title Friendlymatthew/update projections for structs Use leaf level ProjectionMask for parquet projections Mar 13, 2026
@friendlymatthew friendlymatthew force-pushed the friendlymatthew/update-projections-for-structs branch from 9118488 to 8d7da46 Compare March 13, 2026 15:33
@github-actions github-actions bot added the datasource Changes to the datasource crate label Mar 13, 2026
@friendlymatthew friendlymatthew force-pushed the friendlymatthew/update-projections-for-structs branch from 8d7da46 to ba759be Compare March 13, 2026 15:33
@friendlymatthew friendlymatthew marked this pull request as draft March 13, 2026 16:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

datasource Changes to the datasource crate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant