-
Notifications
You must be signed in to change notification settings - Fork 7.1k
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
Enable predicate push-down optimization by default. #4846
Enable predicate push-down optimization by default. #4846
Conversation
Collect all test failures and segfaults.
5ad6908
to
f377ad3
Compare
@alexey-milovidov I don't see any differences in the PVS report, that you mentioned earlier in Telegram Chat. Can you point out what new errors/warnings were introduced in this PR? |
/// | ||
/// SELECT a, b FROM (SELECT 1 AS a) ANY LEFT JOIN (SELECT 1 AS a, 1 AS b WHERE b = 0) USING (a) WHERE b = 0 | ||
/// | ||
/// That leads to the empty result in the right subquery and changes the whole outcome to (1, 0) or (1, NULL). |
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.
👍 Are we going to move the entire predicate optimization onto the execution stack in the future ? and how do we do that ? Maybe I can get on with this work?
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.
Yes, we are going to do it after "Processors" will be ready #4914
And we will be happy to have your help!
There is no difference in PVS report for now. |
00933_ttl_simple in tsan - TODO @alesapin |
I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/?lang=en
For changelog. Remove if this is non-significant change.
Category (leave one):
Short description (up to few sentences):
Disable push-down to right table in left join, left table in right join, and both tables in full join.
Detailed description:
The current implementation of push-down has a bug in cases like:
SELECT a, b FROM (SELECT 1 AS a) ANY LEFT JOIN (SELECT 1 AS a, 1 AS b) USING (a) WHERE b = 0
It can't be fixed on syntax level, so in the future we have to move this optimization deeper into execution stack.