Merge pull request #89 from Sagit-chu/opencode/lucky-otter

fix(store): enable WAL mode and busy timeout to prevent SQLITE_BUSY
This commit is contained in:
sagit
2026-02-12 09:09:42 +08:00
committed by GitHub
@@ -165,7 +165,13 @@ func Open(path string) (*Repository, error) {
return nil, err
}
db, err := sql.Open("sqlite", path)
// Use _pragma DSN parameters so every connection from the pool gets
// the same settings (busy_timeout and synchronous are per-connection).
dsn := "file:" + path +
"?_pragma=busy_timeout(5000)" +
"&_pragma=journal_mode(WAL)" +
"&_pragma=synchronous(NORMAL)"
db, err := sql.Open("sqlite", dsn)
if err != nil {
return nil, err
}