From f4fdf49846ddb34a80305631eca165c2a69b277a Mon Sep 17 00:00:00 2001 From: qianbin Date: Tue, 12 Feb 2019 11:09:24 +0800 Subject: [PATCH 1/2] upgrade go-sqlite to turn on WAL journal mode --- Gopkg.lock | 6 +++--- Gopkg.toml | 2 +- logdb/logdb.go | 2 +- vendor | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Gopkg.lock b/Gopkg.lock index 46d86facb..828402ef1 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -195,12 +195,12 @@ version = "v0.0.3" [[projects]] - digest = "1:3fb35ae39e9624f72293618b8cdde0c9d47f67fd2bc208e4592e4b846291fc9f" + digest = "1:8bbdb2b3dce59271877770d6fe7dcbb8362438fa7d2e1e1f688e4bf2aac72706" name = "github.com/mattn/go-sqlite3" packages = ["."] pruneopts = "" - revision = "6c771bb9887719704b210e87e934f08be014bdb1" - version = "v1.6.0" + revision = "c7c4067b79cc51e6dfdcef5c702e74b1e0fa7c75" + version = "v1.10.0" [[projects]] branch = "master" diff --git a/Gopkg.toml b/Gopkg.toml index 27b9d5eea..6d7c25bbe 100644 --- a/Gopkg.toml +++ b/Gopkg.toml @@ -52,7 +52,7 @@ ignored = [] [[constraint]] name = "github.com/mattn/go-sqlite3" - version = "1.6.0" + version = "1.10.0" [[constraint]] branch = "master" diff --git a/logdb/logdb.go b/logdb/logdb.go index 403f931a9..c432bc198 100644 --- a/logdb/logdb.go +++ b/logdb/logdb.go @@ -25,7 +25,7 @@ type LogDB struct { // New create or open log db at given path. func New(path string) (logDB *LogDB, err error) { - db, err := sql.Open("sqlite3", path) + db, err := sql.Open("sqlite3", path+"?_journal=wal&cache=shared") if err != nil { return nil, err } diff --git a/vendor b/vendor index 84b36a739..a88695ceb 160000 --- a/vendor +++ b/vendor @@ -1 +1 @@ -Subproject commit 84b36a739465851dc1255f98cc2cb789caf02b6a +Subproject commit a88695ceb7be947564092e880605a15eb4417ca1 From 0a0ff615464ca4fd5759c50cc2ac2c71737200f9 Mon Sep 17 00:00:00 2001 From: qianbin Date: Tue, 12 Feb 2019 13:20:36 +0800 Subject: [PATCH 2/2] fix: 'database is locked' on querying sqlite --- logdb/logdb.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/logdb/logdb.go b/logdb/logdb.go index c432bc198..8e4982263 100644 --- a/logdb/logdb.go +++ b/logdb/logdb.go @@ -34,6 +34,10 @@ func New(path string) (logDB *LogDB, err error) { db.Close() } }() + + // to avoid 'database is locked' error + db.SetMaxOpenConns(1) + if _, err := db.Exec(eventTableSchema + transferTableSchema); err != nil { return nil, err }