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
This is because EliminateCrossJoin only consider equijoin predicate.
The idea is to rewrite EliminateCrossJoin, and choose the right input of join based on both equijoin and non-equijoin predicate. After this pr, the logical plan will be:
Is your feature request related to a problem or challenge? Please describe what you are trying to do.
Follow on to #4844
The fix for incorrect answers in #4869 was to skip the optimizaton if non equijoins were present.
This ticket tracks actually supporting removing crossjoins when filters are present
Currently datafusion will loss the
join filter
of inner join when runEliminateCrossJoin
rule. Following are query and optimized logical plan:This is because
EliminateCrossJoin
only consider equijoin predicate.The idea is to rewrite
EliminateCrossJoin
, and choose the right input of join based on both equijoin and non-equijoin predicate. After this pr, the logical plan will be:The join filter should not be lost.
The text was updated successfully, but these errors were encountered: