testfixture: no -wal/-shm/-journal sidecars; journal_mode is not configurable
- Dominant language
- C
- Stars
- 268
- Forks
- 18
- Avg merge
- 2h 27m
- Merged PRs (30d)
- 447
Description
`test/known_testfixture_exception_inventory.txt` marks 43 inherited SQLite
testfixture suites `unsupported` because DoltLite has no rollback-journal or
WAL sidecar files. The chunk store keeps its own WAL *inside* the single
database file, so `-wal`, `-shm` and `-journal` never exist, and
`PRAGMA journal_mode=` reports "journal_mode is not configurable on
doltlite-format databases".
Everything downstream of that diverges or aborts:
- tests that copy or stat `test.db-wal` / `test.db-shm` (`wal`, `wal2`, `wal3`,
`walcksum`, `waloverwrite`, `walslow`, `walvfs`, `walro2`, `e_walauto`, ...)
- tests that open a second connection needing the `-shm` sidecar, which then
aborts the file with `invalid command name db2` (`wal6`, `walnoshm`)
- checkpoint API contracts over a store with no sidecar (`e_walckpt`,
`walckptnoop`, `nockpt`, `walrestart`)
- shm locking and shm-fault injection (`shmlock`, `walsetlk`,
`walsetlk_recover`, `walro`, `dbpagefault`, `walfault`)
- journal-mode switching and journal-size probes (`jrnlmode`, `jrnlmode2`,
`jrnlmode3`, `journal1`, `journal2`, `journal3`, `walmode`, `walpersist`)
This is a consequence of replacing the pager, not a bug list, and it is not
expected to be fixed. The issue exists so the inventory's `unsupported` entries
point at a live description of the limitation: the entries previously pointed at
#1208, which was the triage *process* tracker and is closed.
Affected suites (43): dbpagefault e_wal e_walauto e_walckpt e_walhook journal1
journal2 journal3 jrnlmode jrnlmode2 jrnlmode3 nockpt shmlock wal wal2 wal3
wal4 wal5 wal6 wal64k wal7 wal9 walbak walbig walckptnoop walcksum walfault
walhook walmode walnoshm waloverwrite walpersist walprotocol walprotocol2
walrestart walro walro2 walseh1 walsetlk walsetlk_recover walshared walslow
walvfs
Note: `walbig`'s recorded reason is `ORDER BY rowid` over a PK-clustered table
("no such column: rowid"), which is the rowid-keying divergence rather than
anything WAL-related. Its disposition deserves a second look.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with test/known_testfixture_exception_inventory.txt and inspect the 43 listed suite entries, especially walbig's recorded reason. Update unsupported entries that still point to closed issue #1208 so they reference this live limitation description, and reassess walbig separately; done means the inventory accurately records each disposition and rationale.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, sqlite
- Domain
- documentation, testing
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 70/100