release-23.1: sql/schemachanger: fix incorrect errors dropping primary key columns #107987
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Backport 1/1 commits from #106634.
/cc @cockroachdb/release
Previously, the declarative schema changer in DROP COLUMN CASCADE scenarios would either hang (23.1) or generate incorrect errors (master) when dropping a primary key column. This was because the primary index would be replaced during a DROP CASCADE scenario when cleaning up the cascade column. The check to see if the target column was a key could look for the original index, which will no longer be public. To address this bug, this patch checks if the target dropped column is a key column first.
Fixes: #105953
Release note (bug fix) : DROP COLUMN cascade involving a primary key column could end up hanging
Release justification: low risk and fixes a bug in the declarative schema changer