-
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
executor: fix naaj panic caused by wrong field types check #42482
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. |
/retest |
/retest |
I don't quite understand the root cause you explained in the pr description, in my understanding, before TiDB execution a join, the planner will make sure that join key from both left/right side belongs to the same type category(for example, both decimal or both int), in your example, the join key is (decimal, int) not in (int, int), and you fix seems to say that the join key's type is not the same catagory, so the error happens, but according to the explain result, the key types are the same:
Note that |
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
@elsa0520: Thanks for your review. The bot only counts approvals from reviewers and higher roles in list, but you're still welcome to leave your comments. 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. |
In fact, I manually align the key type before join, and it throws the same error, which I think can prove that there must be some other unknown errors
|
/hold |
not the cast problem. In my cases: (table1 . a , table1 . b ) NOT IN ( SELECT 3 , 2) seen as column#8 column#15 for the build side for the code change: we pass the needCheckBuildRowPos for example 0 here, it will fetch data with the offset 0 which is exactly the column#15 there, while once we pass allTypes here, it will use the enumeration from 0 to length(needCheckBuildRowPos), which is 0 there, and from the allTypes we can see: what it gets is just a decmial type for column#8, (it's wrong, we couldn't fetch a decmial data from column#15) approach: mapping the needCheckPos and corresponding types it needs rather than allTypes. trigger condition: |
Signed-off-by: AilinKid <314806019@qq.com>
PTAL @windtalker |
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
@gengliqi: Thanks for your review. The bot only counts approvals from reviewers and higher roles in list, but you're still welcome to leave your comments. 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. |
/unhold |
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
/retest |
1 similar comment
/retest |
/merge |
This pull request has been accepted and is ready to merge. Commit hash: e4a53d4
|
/retest |
1 similar comment
/retest |
/merge |
This pull request has been accepted and is ready to merge. Commit hash: 7e984fd
|
/retest |
2 similar comments
/retest |
/retest |
In response to a cherrypick label: new pull request created to branch |
Signed-off-by: ti-chi-bot <ti-community-prow-bot@tidb.io>
In response to a cherrypick label: new pull request created to branch |
Signed-off-by: ti-chi-bot <ti-community-prow-bot@tidb.io>
What problem does this PR solve?
Issue Number: close #42459
Problem Summary:
What is changed and how it works?
Check List
Tests
Side effects
Documentation
Release note
Please refer to Release Notes Language Style Guide to write a quality release note.