diff --git a/database/sqlite.go b/database/sqlite.go index 4a55b457..bbbdec6f 100644 --- a/database/sqlite.go +++ b/database/sqlite.go @@ -5,7 +5,6 @@ import ( "errors" "os" "path/filepath" - "sync" _ "github.com/mattn/go-sqlite3" // need to blank import this package ) @@ -28,8 +27,6 @@ var SQLITE_FUNCTIONS = map[string]interface{}{ CLOSE_DB: sqliteCloseDB, } -var mutex sync.Mutex - func initSqliteDB() error { // == create db file if not present == if _, err := os.Stat("data"); os.IsNotExist(err) { @@ -45,6 +42,7 @@ func initSqliteDB() error { if dbOpenErr != nil { return dbOpenErr } + SqliteDB.SetMaxOpenConns(1) return nil } @@ -63,8 +61,6 @@ func sqliteCreateTable(tableName string) error { func sqliteInsert(key string, value string, tableName string) error { if key != "" && value != "" && IsJSONString(value) { - mutex.Lock() - defer mutex.Unlock() insertSQL := "INSERT OR REPLACE INTO " + tableName + " (key, value) VALUES (?, ?)" statement, err := SqliteDB.Prepare(insertSQL) if err != nil { @@ -82,8 +78,6 @@ func sqliteInsert(key string, value string, tableName string) error { func sqliteInsertPeer(key string, value string) error { if key != "" && value != "" && IsJSONString(value) { - mutex.Lock() - defer mutex.Unlock() err := sqliteInsert(key, value, PEERS_TABLE_NAME) if err != nil { return err @@ -94,8 +88,6 @@ func sqliteInsertPeer(key string, value string) error { } func sqliteDeleteRecord(tableName string, key string) error { - mutex.Lock() - defer mutex.Unlock() deleteSQL := "DELETE FROM " + tableName + " WHERE key = \"" + key + "\"" statement, err := SqliteDB.Prepare(deleteSQL) if err != nil { @@ -109,8 +101,6 @@ func sqliteDeleteRecord(tableName string, key string) error { } func sqliteDeleteAllRecords(tableName string) error { - mutex.Lock() - defer mutex.Unlock() deleteSQL := "DELETE FROM " + tableName statement, err := SqliteDB.Prepare(deleteSQL) if err != nil {