backport-2.1: sqlbase: don't permit PK columns in STORING list #31032
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 #31019.
/cc @cockroachdb/release
Previously, users could create indexes that included PRIMARY KEY columns
in the STORING list. This was effectively a no-op and misleading to
users, since PRIMARY KEY columns are always stored in indexes regardless
of the STORING list. Separately, permitting this tickled a bug in the
descriptor accounting system.
Now, this behavior is prevented by returning an error to the user if
they try to do such a thing, with a helpful message explaining why it's
not allowed.
Fixes #30984.
Release note (sql change): don't allow specifying STORING columns in
indexes that are already part of the index's corresponding PRIMARY
INDEX.