-
Notifications
You must be signed in to change notification settings - Fork 5.9k
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
planner: check null and empty for != any(subq)
and = all(subq)
#9106
Conversation
/run-all-tests |
Codecov Report
@@ Coverage Diff @@
## master #9106 +/- ##
=========================================
+ Coverage 67.16% 67.26% +0.1%
=========================================
Files 372 372
Lines 77017 77067 +50
=========================================
+ Hits 51729 51841 +112
+ Misses 20660 20605 -55
+ Partials 4628 4621 -7
Continue to review full report at Codecov.
|
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
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
What problem does this PR solve?
Fix #8798
What is changed and how it works?
When converting "compare subquery" in expression rewriter, build additional 2 conditions to attach to projection:
!= any(subq)
would always return false, while= all(subq)
would always return true;!= any(subq)
and= all(subq)
would return null; note that it may be counterintuitive thatnull = all(1, 2)
should return null, but it indeed holds and is verified on MySQL.Check List
Tests
Code changes
N/A
Side effects
Related changes