Queue SQLite writes on one connection so none fails as locked (closes #223) #225

Merged
clawbot merged 1 commits from issue-223-sqlite-write-queue into next 2026-10-08 04:50:33 +02:00
1 Commits
Author SHA1 Message Date
clawbot fc080147af Queue SQLite writes on one connection so none fails as locked (closes #223)
check / check (push) Waiting to run
internal/database now opens the database with one connection. pixa's
own reads and writes run on it one at a time instead of competing for
SQLite's lock, where a write that kept losing could wait past the
five-second busy timeout and fail with "database is locked". The busy
timeout stays, for another program writing to the same file.

With one connection, a query run while rows or a transaction are still
open would wait forever. No code in internal/database or
internal/imgcache does that; the comment on DB() tells callers.
README.md says pixa uses one connection and that requests wait while
eviction runs one of its queries.

Model: opus-5-5
2026-10-08 02:00:17 +00:00