Skip to content

Avoid resolving aliased expression fields twice - #124

Merged
osipovartem merged 1 commit into
embucket-sync-df55.0.0from
df55-alias-single-field
Oct 9, 2026
Merged

osipovartem merged 1 commit into
embucket-sync-df55.0.0from
df55-alias-single-field

Conversation

@osipovartem

Copy link
Copy Markdown
Collaborator

Summary

Mirror the single-resolution Expr::Alias::to_field fix from apache#26156 into the DataFusion 55 fork. metadata() already calls to_field(); calling both recursively made nested alias field inference exponential.

The regression test shows 12 aliases changing from 4,096 source-field lookups to one, and checks metadata precedence, field name, type, and nullability. Execution kernels are unchanged.

Validation

  • cargo fmt --all --check
  • cargo clippy --all-targets --all-features -- -D warnings
  • cargo test -p datafusion-expr --lib (253 passed)
  • Full documented extended workspace suite with pinned test-data submodules (passed)
  • Independent read-only review approved correctness, performance, API compatibility, and tests.

This PR does not change the DataFusion revision pinned by Rustice; that update can follow independently.

@osipovartem
osipovartem merged commit ce907c0 into embucket-sync-df55.0.0 Oct 9, 2026
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant