-
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
*: fix wrong replace or insert-on-dup behavior on prefixed clustered index #23091
*: fix wrong replace or insert-on-dup behavior on prefixed clustered index #23091
Conversation
/lgtm |
executor/batch_checker.go
Outdated
if err != nil { | ||
return nil, err | ||
} | ||
} | ||
return toBeCheckRows, nil | ||
} | ||
|
||
func getKeysNeedCheckOneRow(ctx sessionctx.Context, t table.Table, row []types.Datum, nUnique int, handleCols []*table.Column, result []toBeCheckedRow) ([]toBeCheckedRow, error) { | ||
func getKeysNeedCheckOneRow(ctx sessionctx.Context, t table.Table, row []types.Datum, nUnique int, handleCols []*table.Column, | ||
idxHandleCols []*model.IndexColumn, result []toBeCheckedRow) ([]toBeCheckedRow, error) { |
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 pass the primary index directly instead of its IndexColumn
slice?
table/tables/tables.go
Outdated
dt, err = tablecodec.Unflatten(dt, &col.FieldType, ctx.GetSessionVars().Location()) | ||
if err != nil { | ||
return nil, nil, err | ||
if notPrefixCol { |
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
useHandleData := if col.IsCommonHandleColumn(meta) && !types.CommonHandleNeedRestoredData(&col.FieldType) && if notPrefixCol
if useHandleData {
...
} else {
...
}
Signed-off-by: lysu <[email protected]>
Signed-off-by: lysu <[email protected]>
Signed-off-by: lysu <[email protected]>
Signed-off-by: lysu <[email protected]>
[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 |
Signed-off-by: lysu <[email protected]>
/run-all-tests |
/merge |
This pull request has been accepted and is ready to merge. Commit hash: 3c7a2df
|
What problem does this PR solve?
Issue Number: closes #23069, closes #23063
Problem Summary:
two question caused those two issues:
What is changed and how it works?
What's Changed, How it Works:
TruncateIndexValue
to truncate row value to prefix value to check index constrictDecodeRawRowData
shouldn't use handle value when handle's column is prefixed columnRelated changes
Check List
Tests
Side effects
Release note
This change is