Conversation
Codecov Report
@@ Coverage Diff @@
## master #470 +/- ##
==========================================
+ Coverage 75.30% 75.80% +0.50%
==========================================
Files 152 153 +1
Lines 25275 25924 +649
==========================================
+ Hits 19033 19652 +619
- Misses 6242 6272 +30
Continue to review full report at Codecov.
|
|
I plan to review this tomorrow |
|
Related PR for anti join here: #482 |
|
should the readme be updated to include semi join as well? |
I think for now we don't - I would say that at least need to have |
alamb
left a comment
There was a problem hiding this comment.
Looks good to me @Dandandan ! Nice work
| | LogicalPlan::CreateExternalTable { .. } | ||
| | LogicalPlan::Explain { .. } | ||
| | LogicalPlan::Union { .. } | ||
| | LogicalPlan::Join { .. } |
There was a problem hiding this comment.
should you also possibly conditionalize this on being a SemiJoin? like
| | LogicalPlan::Join { .. } | |
| | LogicalPlan::Join if *join_type == JoinType::Semi { .. } |
So if we add a new join type in the future it doesn't accidentally get allowed / disallowed in some confusing way
There was a problem hiding this comment.
Tried that in earlier commit... But than the exhaustiveness checking gets in the way unfortunately.
There was a problem hiding this comment.
I think the only way the compiler can do it now is by explicitly matching on all the join types, but as this feature is not added https://github.com/rust-lang/rfcs/blob/master/text/2535-or-patterns.md that would be quite verbose currently
There was a problem hiding this comment.
I rewrote it a bit to use a function in the body of the join match
Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
| } | ||
| } | ||
|
|
||
| fn supports_swap(join_type: JoinType) -> bool { |
Which issue does this PR close?
Closes #461
Rationale for this change
Adds semi join support. This will enable us to rewrite
WHERE id IN (..)andWHERE EXISTSto a (semi) join.What changes are included in this PR?
Add semi join to hash join implementation.
What's not in this PR
Are there any user-facing changes?
No