From a3dac1a28fdc9e42d85c4686858c64597cf1a15b Mon Sep 17 00:00:00 2001 From: Jordan Date: Sat, 16 Dec 2023 17:38:17 -0700 Subject: db: limit shared cache connections to one; see mattn/go-sqlite3 #209 --- db.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/db.go b/db.go index 92bbcd1..5a5d73c 100644 --- a/db.go +++ b/db.go @@ -25,6 +25,7 @@ type Stats struct { func initDB(path string) *sql.DB { + var db *sql.DB if _, err := os.Stat(path); errors.Is(err, os.ErrNotExist) { file, err := os.Create(path) if err != nil { @@ -32,16 +33,17 @@ func initDB(path string) *sql.DB { } file.Close() - db, _ := sql.Open("sqlite3", path) + db, _ = sql.Open("sqlite3", "file:"+path+"?cache=shared") initTables(db) - return db } else { - db, err := sql.Open("sqlite3", path) + //db, err := sql.Open("sqlite3", path) + db, _ = sql.Open("sqlite3", "file:"+path+"?cache=shared") if err != nil { log.Fatal(err) } - return db } + db.SetMaxOpenConns(1) + return db } func initTables(db *sql.DB) { -- cgit v1.2.3-54-g00ecf