Summary
Several miscellaneous scalar functions from upstream DataFusion are not exposed in datafusion-python.
Missing Functions
Union type functions:
Arrow metadata/cast functions:
Other:
Upstream Reference
Implementation
- Rust bindings:
crates/core/src/functions.rs
- Python wrappers:
python/datafusion/functions.py
Note: This gap analysis was performed using an AI agent comparing upstream DataFusion v53 documentation against the current datafusion-python codebase.
Summary
Several miscellaneous scalar functions from upstream DataFusion are not exposed in datafusion-python.
Missing Functions
Union type functions:
union_extract— extracts a value from a union type by field nameunion_tag— returns the tag (active field name) of a union typeArrow metadata/cast functions:
arrow_metadata— returns Arrow field metadataarrow_try_cast— attempts to cast an expression, returning null on failure instead of erroringOther:
get_field— extracts a field from a struct by nameversion— returns the DataFusion version stringrow— alias for thestructconstructorUpstream Reference
Implementation
crates/core/src/functions.rspython/datafusion/functions.py