-
Notifications
You must be signed in to change notification settings - Fork 5.8k
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: fix the issue that some PointGet plans generated in physical-stage cannot be cached #28478
Conversation
[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 submitting an approval review. |
planner/core/prepare_test.go
Outdated
@@ -1107,7 +1149,7 @@ func (s *testPlanSerialSuite) TestPlanCachePointGetAndTableDual(c *C) { | |||
tk.MustQuery("select @@last_plan_from_cache").Check(testkit.Rows("0")) | |||
// Must not reuse the previous TableDual plan. |
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.
Please update the comments. The following changes are the same. Maybe we need to check the plan to show the result.
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.
All related comments have been updated.
planner/core/prepare_test.go
Outdated
@@ -1118,7 +1160,7 @@ func (s *testPlanSerialSuite) TestPlanCachePointGetAndTableDual(c *C) { | |||
tk.MustQuery("select @@last_plan_from_cache").Check(testkit.Rows("0")) | |||
// Must not reuse the previous PointGet plan. |
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.
Can we modify or remove comments like this? Otherwise it may be confusing.
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.
All related comments have been updated.
// TODO: Can we make a more careful check on whether the optimization depends on mutable constants? | ||
ds.ctx.GetSessionVars().StmtCtx.MaybeOverOptimized4PlanCache = true |
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.
Please add the test cases from #26873.
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.
A new test case TestIssue26873 is added.
/run-all-teests |
�/merge |
/merge |
This pull request has been accepted and is ready to merge. Commit hash: 98c8b33
|
/merge |
What problem does this PR solve?
Issue Number: close #26868, close #26873
Problem Summary: planner: fix the issue that some PointGet plans generated in physical-stage cannot be cached
What is changed and how it works?
planner: fix the issue that some PointGet plans generated in physical-stage cannot be cached
Check List
Tests
Release note