dolthub / dolthub/doltlite

testfixture: no -wal/-shm/-journal sidecars; journal_mode is not configurable

Open Beginner friendly
#1,836 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.