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
Is your feature request related to a problem or challenge? Please describe what you are trying to do.
Currently, we have a SemiJoin option, this is basically a left semi join.
This works nicely, but because we don't have a RightSemiJoin we can't change the build/probe order.
If we have a RightSemiJoin we could support this - changing to use a right semi join whenever the build side is larger than the probe side. So basically - if there is a match, include the row in the results.
A right semi join returns the right row (at most once) for every match on the left side.
Example of this can be found in q18 in ballista (the top CoalesceBatchesExec is much bigger, optimal is the other way around):
Is your feature request related to a problem or challenge? Please describe what you are trying to do.
Currently, we have a
SemiJoin
option, this is basically a left semi join.This works nicely, but because we don't have a
RightSemiJoin
we can't change the build/probe order.If we have a
RightSemiJoin
we could support this - changing to use a right semi join whenever the build side is larger than the probe side. So basically - if there is a match, include the row in the results.A right semi join returns the right row (at most once) for every match on the left side.
Example of this can be found in q18 in ballista (the top
CoalesceBatchesExec
is much bigger, optimal is the other way around):Here is q20
Describe the solution you'd like
Implement
RightSemiJoin
and swap join order if the build side is bigger.Describe alternatives you've considered
Additional context
The text was updated successfully, but these errors were encountered: