Skip to content

Plan struct colon access as get_field - #98

Merged
osipovartem merged 1 commit into
embucket-sync-df55.0.0from
df55-struct-colon-get-field
Sep 16, 2026
Merged

osipovartem merged 1 commit into
embucket-sync-df55.0.0from
df55-struct-colon-get-field

Conversation

@osipovartem

Copy link
Copy Markdown
Collaborator

Summary

Lowers SQL colon access on Arrow structs to the existing vectorized get_field UDF in NestedFunctionPlanner.

This makes parsed JSON-style paths such as payload:country:name executable for typed Struct columns. Nested accesses become nested get_field calls, which the existing simplifier flattens and can reduce over named_struct; Parquet projection pushdown therefore keeps working for static paths.

Non-Struct colon expressions remain untouched for other planners.

Validation

  • cargo +1.95.0 test -p datafusion-functions-nested planner::tests --lib (2 passed)
  • cargo +1.95.0 clippy -p datafusion-functions-nested --all-targets -- -D warnings
  • cargo +1.95.0 fmt --all -- --check

@osipovartem
osipovartem merged commit 6f58c56 into embucket-sync-df55.0.0 Sep 16, 2026
31 of 34 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