-
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 problem that PlanBuilder.buildWindowFunctions
may change sub operator's schema. (#27176)
#27203
planner: Fix the problem that PlanBuilder.buildWindowFunctions
may change sub operator's schema. (#27176)
#27203
Conversation
Signed-off-by: ti-srebot <ti-srebot@pingcap.com>
[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. |
/run-all-tests |
@LittleFall you're already a collaborator in bot's repo. |
/run-check_dev |
/merge |
This pull request has been accepted and is ready to merge. Commit hash: 047e1c5
|
/rebuild |
/run-unit-test |
cherry-pick #27176 to release-5.2
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/27203
After apply modifications, you can push your change to this PR via:
What problem does this PR solve?
Issue Number: close #27148
Problem Summary:
buildWindowFunctions
will use sub operator's schema as itself's, for example, hereobtains the sub operator's schema, and then changed them here
This may cause some unexpected behaviors, for example in mpp query, making the schema of exchangeReceiver and exchangeSender not equal and then throw errors as the issue said.
for example, it will build a plan like:
the (3,1), (25,1), (47,1) means output schema's attribute
flen
anddecimal
intypeDecimal
, but the excepted isWhat is changed and how it works?
Proposal: xxx
What's Changed: let it obtain a column's clone.
Are there any suggestions for fixing it better?
Check List
Tests
Release note