X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=futatabi%2Fdb.cpp;h=636b63ea54b8faf5b7d414738ef8775fbdf6a455;hb=575f6eb1b052bb1291987753b1a8cccc7f1e3ab3;hp=4da0a0a89becb427a0c4991e632c47e76cf30c3e;hpb=9971b6e946b6a5d77246c710ce794a70849d1d03;p=nageru diff --git a/futatabi/db.cpp b/futatabi/db.cpp index 4da0a0a..636b63e 100644 --- a/futatabi/db.cpp +++ b/futatabi/db.cpp @@ -15,6 +15,14 @@ DB::DB(const string &filename) exit(1); } + // Set an effectively infinite timeout for waiting for write locks; + // if we get SQLITE_LOCKED, we just exit out, so this is much better. + ret = sqlite3_busy_timeout(db, 3600000); + if (ret != SQLITE_OK) { + fprintf(stderr, "sqlite3_busy_timeout: %s\n", sqlite3_errmsg(db)); + exit(1); + } + sqlite3_exec(db, R"( CREATE TABLE IF NOT EXISTS state (state BLOB); )", @@ -23,7 +31,7 @@ DB::DB(const string &filename) sqlite3_exec(db, "CREATE UNIQUE INDEX only_one_state ON state (1);", nullptr, nullptr, nullptr); // Ignore errors. sqlite3_exec(db, R"( - CREATE TABLE IF NOT EXISTS settings (settings BLOB, uniqifier NOT NULL DEFAULT 1 UNIQUE); + CREATE TABLE IF NOT EXISTS settings (settings BLOB); )", nullptr, nullptr, nullptr); // Ignore errors.