Physical optimizers cannot rewrite HashJoinExec
due to join_schema
being private
#12806
Labels
enhancement
New feature or request
Is your feature request related to a problem or challenge?
HashJoinExec
internally performs a projection, which is exposed through the publicHashJoinExec::projection
field. However, this field is aOption<Vec<usize>>
, where each item in the vector is an index inHashJoinExec::join_schema
, which is not public.This means the projection performed by
HashJoinExec
is not available to physical optimizers (though they might be able to infer it from theleft().schema()
andright.schema()
? this seems error-prone at best)Describe the solution you'd like
Either:
HashJoinExec::join_schema
publicHashJoinExec
Describe alternatives you've considered
Provide a way for library users to define their own
logical_expr::Join
->ExecutionPlan
compiler, so they don't need a physical optimizer to do it.(If there is already a way to do it, then I missed it.)
Additional context
No response
The text was updated successfully, but these errors were encountered: