-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Should not convert a normal non-inner join to Cross Join when there are non-equal Join conditions #4363
Comments
Except for Inner Join, we can not treat join conditions as filter conditions(there are some cases join conditions can be pushed down, depends on the join expr and join type). Need to introduce a new Physical Join implementation |
I think it is also possible to extend the HashJoin implementation with the new semantics rather than adding an entirely new physical join implementation |
hash join can just support equal condition. If there is no the equal condition, we can't use the hash join. If the condition is |
I was thinking something like you could use a hash table with a single entry when there are no join keys -- which will effectively devolve into a CrossJoin What I really would hope to avoid is another join implementation if possible -- Joins are already complicated enough, and so adding another one will not improve the situation. |
I would prefer to keep a different join implementation. A different physical plan like 'nested_loop_join' will deliver the clear information to users and developers that the plan is actually a nested loop join. |
Describe the bug
A clear and concise description of what the bug is.
SparkSQL result:
DataFusion UT
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
Additional context
Add any other context about the problem here.
The text was updated successfully, but these errors were encountered: