-
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: remove some risky cache operations in the plan builder (#23354) #23536
planner: remove some risky cache operations in the plan builder (#23354) #23536
Conversation
Signed-off-by: ti-srebot <[email protected]>
/run-all-tests |
@qw4990 you're already a collaborator in bot's repo. |
/cc @winoros |
/cc @rebelice |
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
@Reminiscent: Please use If you have approved this PR, please ignore this reply. This reply is being used as a temporary reply during the migration of the new bot and will be removed on April 1. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the ti-community-infra/tichi repository. |
[REVIEW NOTIFICATION] This pull request has been approved by:
To complete the pull request process, please ask the reviewers in the list to review by filling The full list of commands accepted by this bot can be found here. Reviewer can indicate their review by writing |
This pull request has been accepted and is ready to merge. Commit hash: 8c0ab9c
|
/run-all-tests |
c0157ef
to
82dd0c4
Compare
/run-all-tests |
/merge |
This pull request has been accepted and is ready to merge. Commit hash: 5c421482c417b23a009d8c9aa21c8e3e706a976c
|
/merge |
2 similar comments
/merge |
/merge |
@zimulala: In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the ti-community-infra/tichi repository. |
/cc @qw4990 |
/run-all-tests |
/merge |
a862daa
to
2329c9a
Compare
/merge |
This pull request has been accepted and is ready to merge. Commit hash: 64bcaeb
|
@ti-srebot: Your PR was out of date, I have automatically updated it for you. At the same time I will also trigger all tests for you: /run-all-tests If the CI test fails, you just re-trigger the test that failed and the bot will merge the PR for you after the CI passes. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the ti-community-infra/tichi repository. |
cherry-pick #23354 to release-5.0
You can switch your code base to this Pull Request by using git-extras:
# In tidb repo: git pr https://github.com/pingcap/tidb/pull/23536
After apply modifications, you can push your change to this PR via:
What problem does this PR solve?
Issue Number: close #22850
Problem Summary: planner: remove some risky cache operations in the plan builder
What is changed and how it works?
#21431 allows the plan builder to cache some logical plans to avoid unnecessary evaluation(in
![image](https://user-images.githubusercontent.com/7499936/111285430-19b08e80-867c-11eb-8be1-323a4607da4a.png)
PlanBuilder.buildTableRefs
), but this operation brings some risks.Because the cached logical plans may be modified in some other places, and once they are modified, some implicit assumptions may be broken.
In this case(#22850):
len(p.Schema().Cols) == len(p.OutputNames())
(ingetExpressionRewriter
).buildProjection
): the first happens when pre-processing user variables(preprocessUserVarTypes
) and the second happens when rewriting selection fields(rewriteWithPreprocess
);Check List
Tests
Release note