sql: Fix panic when auto stats are computed on views #34726
Merged
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.
At startup, all crdb_internal.tables are enqueued in order to have stats
computed over them, if needed. However, that vtable includes views as well
as tables, and views cause the CREATE STATISTICS code to panic.
This commit fixes the panic (returns an error instead). It also prevents
the auto stats code from continually re-enqueuing the refresh request for
views and vtables, since they will fail every time.
We need to come back and fix this better by not enqueuing views in the
first place. However, that turned out to be problematic because the
crdb_internal.tables vtable has no column that distinguishes view from
tables.
Release note: None