sqlsmith: fix flaky TestGenerateParse #66743
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.
This commit fixes the
sqlsmith.TestGenerateParse
test that has beenflaking since #66599 when primary index stored columns were added to the
output of
SHOW INDEXES
.sqlsmith uses
SHOW INDEXES
to build an in-memory representation ofindexes to help generate interesting randomized queries. It is not
equipped to handle
rowid
primary indexes, so rows output fromSHOW INDEXES
with acolumn_name
ofrowid
are filtered out. Storedcolumns of primary indexes, now included in
SHOW INDEXES
, are notfiltered out, causing sqlsmith to build an in-memory representation of
rowid
indexes that have only stored columns and no indexed columns.This breaks the assumption within sqlsmith that each index should have
at least one indexed column, causing panics.
This commit fixes the issue by removing indexes with no indexed columns
from sqlsmith's in-memory index map.
Fixes #66723
Release note: None