Run SQLite in WAL mode with a busy timeout the driver reads (closes #123)
check / check (push) Canceled after 0s

The default database URL asked for WAL mode with `_journal_mode` and
`_busy_timeout`, which the SQLite driver does not read, so the database
ran in rollback-journal mode. The default now uses the driver's
`_pragma=journal_mode(WAL)` and `_pragma=busy_timeout(5000)` parameters,
in one constant that both the config default and the database fallback
use. A new test opens a file database with those parameters through
db.New and checks the journal mode and busy timeout. README.md's
database text now matches, and an in-memory test database drops the
same ignored parameter.

Model: opus-5-5
This commit is contained in:
2026-10-20 08:50:14 +00:00
parent a054bf828d
commit cf89113e11
5 changed files with 116 additions and 32 deletions
+1 -1
View File
@@ -73,7 +73,7 @@ func newTestEnvWithConfig(
// A random name, so that no other test environment, not
// even an earlier run of the same test, can share it.
dsn := fmt.Sprintf(
"file:%s?mode=memory&cache=shared&_journal_mode=WAL",
"file:%s?mode=memory&cache=shared",
rand.Text(),
)