Skip to content
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: don't push down null sensitive join conditions (#19620) #21019

Merged
merged 4 commits into from
Nov 20, 2020

Conversation

ti-srebot
Copy link
Contributor

cherry-pick #19620 to release-4.0


What problem does this PR solve?

Issue Number:

Problem Summary:

  • Wong result for some LeftOuterSemiJoin / AntiSemiJoin / AntiLeftOuterSemiJoin queries.

What is changed and how it works?

What's Changed:

  • Correctly maintain NotNull flag for aggregation result columns;
  • Mark column arguments of RowFunc as InOperand;
  • Don't push down join conditions containing InOperand columns;

How it Works:

  • Those filters are kept as OtherConditions of join, and can be correctly evaluated then.

Related changes

  • Need to cherry-pick to the release branch

Check List

Tests

  • Unit test

Side effects

N/A

Release note

  • Fix wrong results for some semi join queries.

Signed-off-by: ti-srebot <ti-srebot@pingcap.com>
@ti-srebot
Copy link
Contributor Author

/run-all-tests

Copy link
Contributor

@lzmhhh123 lzmhhh123 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ti-srebot ti-srebot added the status/LGT1 Indicates that a PR has LGTM 1. label Nov 13, 2020
@lzmhhh123
Copy link
Contributor

/run-common-test tidb-test=pr/1102
/run-integration-common-test tidb-test=pr/1102

Copy link
Contributor

@SunRunAway SunRunAway left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ti-srebot ti-srebot added status/LGT2 Indicates that a PR has LGTM 2. and removed status/LGT1 Indicates that a PR has LGTM 1. labels Nov 17, 2020
@SunRunAway
Copy link
Contributor

/merge

@ti-srebot ti-srebot added the status/can-merge Indicates a PR has been approved by a committer. label Nov 17, 2020
@ti-srebot
Copy link
Contributor Author

Your auto merge job has been accepted, waiting for:

  • 20609
  • 21073
  • 21073

@ti-srebot
Copy link
Contributor Author

/run-all-tests

@ti-srebot
Copy link
Contributor Author

@ti-srebot merge failed.

@eurekaka
Copy link
Contributor

/run-all-tests

@lzmhhh123
Copy link
Contributor

/run-all-tests tidb-test=pr/1102

@lzmhhh123
Copy link
Contributor

@eurekaka eurekaka merged commit cc61a9f into pingcap:release-4.0 Nov 20, 2020
@eurekaka eurekaka deleted the release-4.0-3ef3e54b5ec7 branch November 20, 2020 08:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component/expression sig/execution SIG execution sig/planner SIG: Planner status/can-merge Indicates a PR has been approved by a committer. status/LGT2 Indicates that a PR has LGTM 2. type/bugfix This PR fixes a bug. type/4.0-cherry-pick
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants