You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
ComposedPhysicalExtensionCodec implements only 6 of the 12 PhysicalExtensionCodec methods #24829
Every one of those decode defaults is not_impl_err!. So composing codecs that individually support window UDFs, physical expressions, or higher-order functions produces a codec that supports none of them — the composition silently narrows what its members could do.
The encode defaults are worse than inert for the by-name pair, since try_encode_udwf returns Ok(()) writing nothing while try_decode_udwf errors. A window UDF therefore encodes "successfully" and fails on the way back.
To Reproduce
Compose any codec that implements try_encode_udwf / try_decode_udwf and serialize a plan containing a window UDF. The composed codec never forwards to it, and decoding fails with PhysicalExtensionCodec is not provided for window function <name>.
Expected behavior
ComposedPhysicalExtensionCodec forwards every method of the trait it implements, so composing codecs is capability-preserving.
Additional context
The fix looks mechanical — the existing encode_protobuf / decode_protobuf helpers already handle the position framing, and the six missing methods follow the same shape as the six present ones. Happy to open a PR.
Activity
sainad2222 commentedon Sep 6, 2026
take