You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add a rowid group (implicit-rowid INSERTs, INTEGER PRIMARY KEY AUTOINCREMENT, last_insert_rowid(), sqlite_sequence reads/writes, ROLLBACK TO / RELEASE followed by implicit inserts, keyless INSERT … SELECT) and include it in the PR default. Rotate a subset of the other 13 groups through the PR gate by seed so each gets PR coverage within the existing time budget.
Summary
test/sql_differential_test.sh:66-75:DOLTLITE_DIFF_GROUPS=defaultexpands to--include-large-ints --include-desconly, andtest.yml:311-317runs seeds 1..10000 with that. The other 13 groups (expr agg setops cte window joins writesel ddl constraints triggers returning generated fkeys) run only innightly-fuzz.yml:238-242, where a divergence opens an issue instead of blocking. A regression in trigger/FK/generated/RETURNING/DDL semantics can merge and surface a day later (classes: A VIRTUAL column hides a drop-versus-update merge conflict #3097generated, ALTER TABLE DROP COLUMN with two indexes on the column names a different index in its error than stock #3045ddl, DELETE leaves an orphaned index entry when the entry's key no longer matches the row #2922constraints/writesel).test/sql_differential_fuzzer.py:205,284,288,306: every INSERT names the key column;schema()(96-136) never emitsAUTOINCREMENT; there is nolast_insert_rowid()read, andROLLBACK TO(466) is never followed by an implicit-rowid insert. The rowid bugs fixed recently (ROLLBACK TO a savepoint burns rowids #3098, A sqlite_sequence seed moves non-AUTOINCREMENT rowids #3099, Implicit-rowid INSERT returns SQLITE_FULL instead of the random-rowid fallback #2908) are unreachable by construction.Proposal
Add a
rowidgroup (implicit-rowid INSERTs,INTEGER PRIMARY KEY AUTOINCREMENT,last_insert_rowid(),sqlite_sequencereads/writes, ROLLBACK TO / RELEASE followed by implicit inserts, keylessINSERT … SELECT) and include it in the PR default. Rotate a subset of the other 13 groups through the PR gate by seed so each gets PR coverage within the existing time budget.🤖 Generated with Claude Code