-
Notifications
You must be signed in to change notification settings - Fork 5.8k
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
*: derive col is not null
from col op col
conditions
#8603
Conversation
0b258ed
to
cea9f8e
Compare
/run-all-tests |
848d607
to
4d76bb4
Compare
/run-all-tests |
/run-unit-test |
/rebuid |
/run-all-tests |
randgen test failures can be fixed by #8725, wait it to be merged first. |
f5e9164
to
afb8bb0
Compare
col is not null
from col op col
conditionscol is not null
from col op col
conditions
/run-all-tests |
/run-mybatis-test |
@lamxTyler comments addressed, PTAL |
@lamxTyler comments addressed, PTAL |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
88075a6
to
d61a4ef
Compare
@zz-jason PTAL. I have updated the PR to not derive
|
Check whether the `op` condition is null rejected, if yes, derive `col is not null` for both sides of inner join, and for inner side of outer join. Also, remove duplicate conditions before pushing them down. Check if the condition is mutable before removing duplicates. For AntiSemiJoin, AntiLeftOuterSemiJoin and LeftOuterSemiJoin, do not generate new `is not null` conditions.
38d570f
to
3e864de
Compare
/run-all-tests |
/run-integration-ddl-test |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Codecov Report
@@ Coverage Diff @@
## master #8603 +/- ##
==========================================
+ Coverage 67.2% 67.21% +<.01%
==========================================
Files 371 371
Lines 76985 77050 +65
==========================================
+ Hits 51741 51791 +50
- Misses 20624 20631 +7
- Partials 4620 4628 +8
Continue to review full report at Codecov.
|
What problem does this PR solve?
Fix #8587
What is changed and how it works?
col op col
condition is null rejected, if yes, derivecol is not null
for both sides of inner join, and for inner side of outer join.is not null
expression to avoid unnecessary conditions.Check List
Tests
Code changes
Side effects
Related changes
N/A
This change is