-
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
session, ddl: amend txn correctly when "modify column" needs reorg data with tidb_enable_amend_pessimistic_txn=on. #26269
Conversation
/run-all-tests |
@@ -194,7 +194,7 @@ func colChangeAmendable(colAtStart *model.ColumnInfo, colAtCommit *model.ColumnI | |||
// collectModifyColAmendOps is used to check if there is only column size increasing change.Other column type changes | |||
// such as column change from nullable to not null or column type change are not supported by now. | |||
func (a *amendCollector) collectModifyColAmendOps(tblAtStart, tblAtCommit table.Table) ([]amendOp, 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.
Is this constraint check there is only column size increasing change
still hold for this check function collectModifyColAmendOps
by now or do we need to enhance it?
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.
When modifying the column type (which requires reorg the data), the column ID is changed. It will return the error directly. So we needn't update colChangeAmendable
. Besides, we use CheckModifyTypeCompatible
in colChangeAmendable
which also updated in column type change(with reorg data)
.
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
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.
Rest LGTM
[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. |
8426007
to
a4f3e6a
Compare
/merge |
This pull request has been accepted and is ready to merge. Commit hash: 29b1b97
|
Signed-off-by: ti-srebot <[email protected]>
cherry pick to release-5.1 in PR #26273 |
What problem does this PR solve?
Issue Number: close #26203
Problem Summary:
Columns exist in an intermediate state when we support modifying the column type (which requires reorg the data). So we can't just check the public state columns when we check whether the operation is amendable.
What is changed and how it works?
Proposal: xxx
What's Changed:
Use
WritableCols
instead ofCols
.Check List
Tests
Release note