SubhamSinghal opened a new pull request, #24378:
URL: https://github.com/apache/datafusion/pull/24378

   ## Which issue does this PR close?
   
     Part of https://github.com/apache/datafusion/issues/17427.
   
     ## Rationale for this change
   
   `PiecewiseMergeJoinExec` has no protobuf representation, so a query the 
planner turns into a range join cannot be serialized and cannot run on any 
engine that ships physical plans between processes (Ballista, Flight-based 
executors):
   
     ```text
     Internal("Unsupported plan and extension codec failed with
       [This feature is not implemented: PhysicalExtensionCodec is not 
provided].
       Plan: PiecewiseMergeJoinExec { ... }")
     ```
   
    ## What changes are included in this PR?
   
   - New PiecewiseMergeJoinExecNode at oneof PhysicalPlanType tag 40, carrying 
exactly the six arguments of try_new. Everything else (output schema, 
sort_options, required input orderings, PlanProperties) is derived inside 
try_new, so it is not on the wire and the round trip is exact by construction.
   - ExecutionPlan::try_to_proto + PiecewiseMergeJoinExec::try_from_proto, 
following the self-serialization pattern (#22419) that SortMergeJoinExec uses. 
Since the hook is consulted before the central downcast chain, the encode side 
needs no change in datafusion/proto; only one decode arm is added.
   - Regenerated pbjson.rs / prost.rs via datafusion/proto-models/regen.sh.
   
   ## Are these changes tested?
   
   Yes using UT
   
   ## Are there any user-facing changes?
   
   No breaking changes


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to