Skip to content

fix: the wrong logic of constraint checker#540

Open
ep-12221 wants to merge 1 commit intooceanbase:masterfrom
ep-12221:fix/issue530
Open

fix: the wrong logic of constraint checker#540
ep-12221 wants to merge 1 commit intooceanbase:masterfrom
ep-12221:fix/issue530

Conversation

@ep-12221
Copy link
Copy Markdown

fix: ALTER TABLE modifying multiple NOT NULL constraints in one statement does not error as expected

Change the condition in
ObAlterTableConstraintChecker::check_can_add_cst_on_multi_column()
from OB_INVALID_ID == *(*iter)->cst_col_begin() to
OB_INVALID_ID != *(*iter)->cst_col_begin().

OB_INVALID_ID means the NOT NULL constraint belongs to a newly added
column whose column id has not been assigned yet. Multi-column ADD
NOT NULL should only be allowed for that case. The old check treated
multi-column MODIFY ... NOT NULL on existing columns as a valid
multi-column ADD path, so ALTER TABLE succeeded instead of reporting
the expected not supported error.

ref: #530

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant