-
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: change more conditions that are always false to dual | tidb-test=pr/2466 #59199
base: master
Are you sure you want to change the base?
Conversation
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 change the title of PR.
This is not create a new rule. Just put the evaluate expression in the predicate push down rule
@@ -1870,9 +1871,18 @@ func deriveNotNullExpr(ctx base.PlanContext, expr expression.Expression, schema | |||
|
|||
// Conds2TableDual builds a LogicalTableDual if cond is constant false or null. | |||
func Conds2TableDual(p base.LogicalPlan, conds []expression.Expression) base.LogicalPlan { |
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.
It seems that this function does not belong to logical_join. It shouldn't belong to any logical operator.
It should belong to expression utils.
Could we move it to right place ?
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.
I have create new file and move it into new file.
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #59199 +/- ##
================================================
+ Coverage 73.0325% 73.4730% +0.4405%
================================================
Files 1689 1690 +1
Lines 466944 467005 +61
================================================
+ Hits 341021 343123 +2102
+ Misses 104947 102929 -2018
+ Partials 20976 20953 -23
Flags with carried forward coverage won't be shown. Click here to find out more.
|
Signed-off-by: Weizhen Wang <[email protected]>
Signed-off-by: Weizhen Wang <[email protected]>
// http://www.apache.org/licenses/LICENSE-2.0 | ||
// | ||
// Unless required by applicable law or agreed to in writing, software | ||
// distributed under the License is distributed on an "AS IS" BASIS, |
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.
how about putting it into constraint pkg
What problem does this PR solve?
Issue Number: close #51446
Problem Summary:
What changed and how does it work?
During the logic optimization phase, we rely on Conds2TableDual to transform conditions that are always false into dual ones. However, the previous implementation was overly simplistic, so we have added some new judgments.
Check List
Tests
Side effects
Documentation
Release note
Please refer to Release Notes Language Style Guide to write a quality release note.