Merge pull request #2212 from salmanisd/feature/use-only-one-sqlite3-conn

storage/sql: use only one sqlite3 connection
This commit is contained in:
Maksim Nabokikh
2021-07-22 20:10:31 +04:00
committed by GitHub

View File

@@ -32,12 +32,10 @@ func (s *SQLite3) open(logger log.Logger) (*conn, error) {
if err != nil {
return nil, err
}
if s.File == ":memory:" {
// sqlite3 uses file locks to coordinate concurrent access. In memory
// doesn't support this, so limit the number of connections to 1.
db.SetMaxOpenConns(1)
}
// always allow only one connection to sqlite3, any other thread/go-routine
// attempting concurrent access will have to wait
db.SetMaxOpenConns(1)
errCheck := func(err error) bool {
sqlErr, ok := err.(sqlite3.Error)
if !ok {