Compare commits
1
Commits
next
...
e10d4313bc
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e10d4313bc |
@@ -20,6 +20,10 @@ regress.
|
|||||||
|
|
||||||
# Completed Steps
|
# Completed Steps
|
||||||
|
|
||||||
|
- 2026-10-01: Two database writes at the same moment no longer fail with
|
||||||
|
"database is locked": each transaction now takes the write lock when it begins
|
||||||
|
and waits up to 5 seconds for another writer to finish (#253).
|
||||||
|
|
||||||
- 2026-10-01: Builds attach a BuildKit session, as the docker command line does,
|
- 2026-10-01: Builds attach a BuildKit session, as the docker command line does,
|
||||||
so a base image that is not on the host is pulled instead of the build failing
|
so a base image that is not on the host is pulled instead of the build failing
|
||||||
with "no active sessions" on Docker Engine 27. Container logs, and so the
|
with "no active sessions" on Docker Engine 27. Container logs, and so the
|
||||||
|
|||||||
@@ -137,8 +137,11 @@ func (d *Database) connect(ctx context.Context) error {
|
|||||||
return fmt.Errorf("failed to create data directory: %w", err)
|
return fmt.Errorf("failed to create data directory: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Open database with WAL mode and foreign keys
|
// Open database with WAL mode and foreign keys. Transactions take the
|
||||||
dsn := dbPath + "?_journal_mode=WAL&_foreign_keys=on"
|
// write lock when they begin and wait up to 5s for another writer,
|
||||||
|
// instead of failing with "database is locked" when both write.
|
||||||
|
dsn := dbPath + "?_journal_mode=WAL&_foreign_keys=on" +
|
||||||
|
"&_txlock=immediate&_busy_timeout=5000"
|
||||||
|
|
||||||
database, err := sql.Open("sqlite3", dsn)
|
database, err := sql.Open("sqlite3", dsn)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user