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: do not push down the aggregation function with correlated column (#21453) #21546

Merged
merged 5 commits into from
Jan 25, 2021

Conversation

ti-srebot
Copy link
Contributor

cherry-pick #21453 to release-4.0


What problem does this PR solve?

Issue Number: close #21414

Problem Summary:
When an aggregation function with a correlated column pushed down, the correlated column will be incorrectly calculated as a null datum.

What is changed and how it works?

  • add the function ContainCorrelatedColumn to check if the expressions contain a correlated column.
  • add the check of function ContainCorrelatedColumn to CheckAggCanPushCop to prohibit aggFunc with a correlated column pushdown.

Check List

Tests

  • Unit test
  • Integration test

Side effects
Some aggregation executor may not be pushed down.

Release note

  • do not push down the aggregation function with correlated column

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

/run-all-tests

@ti-srebot
Copy link
Contributor Author

@Reminiscent you're already a collaborator in bot's repo.

@Reminiscent
Copy link
Contributor

/run-all-tests

@Reminiscent
Copy link
Contributor

@lzmhhh123 @eurekaka PTAL

Copy link
Contributor

@eurekaka eurekaka 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 Dec 8, 2020
lzmhhh123
lzmhhh123 previously approved these changes Dec 8, 2020
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 status/LGT2 Indicates that a PR has LGTM 2. and removed status/LGT1 Indicates that a PR has LGTM 1. labels Dec 8, 2020
@jebter jebter modified the milestones: 4.0.0, v4.0.11 Jan 7, 2021
@qw4990
Copy link
Contributor

qw4990 commented Jan 14, 2021

/run-all-tests

@qw4990
Copy link
Contributor

qw4990 commented Jan 18, 2021

/run-all-tests

@zz-jason zz-jason added the type/bugfix This PR fixes a bug. label Jan 25, 2021
@ti-srebot ti-srebot added status/LGT3 The PR has already had 3 LGTM. and removed status/LGT2 Indicates that a PR has LGTM 2. labels Jan 25, 2021
@zz-jason
Copy link
Member

/merge

@ti-srebot
Copy link
Contributor Author

Your auto merge job has been accepted, waiting for:

  • 21323
  • 21329
  • 21404
  • 21443
  • 21473
  • 21477
  • 21582
  • 21593
  • 21602
  • 21604
  • 21610
  • 21623
  • 21635
  • 21958
  • 22116
  • 22148
  • 22353
  • 21488

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

/run-all-tests

@ti-srebot ti-srebot merged commit b0122eb into pingcap:release-4.0 Jan 25, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component/expression sig/planner SIG: Planner status/can-merge Indicates a PR has been approved by a committer. status/LGT3 The PR has already had 3 LGTM. 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.

7 participants