X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=db.cpp;h=c3e647cf46343885360c58007da9d970aabe80af;hb=c786b9e247c7169e7a8097b37259dfa6ecd5a953;hp=c999a1d01780109d3abf20bf42afbc38a36bffa0;hpb=58b5adcca3af1abbf4c69b00853bee037bb7fec7;p=nageru diff --git a/db.cpp b/db.cpp index c999a1d..c3e647c 100644 --- a/db.cpp +++ b/db.cpp @@ -4,17 +4,20 @@ using namespace std; -DB::DB(const char *filename) +DB::DB(const std::string &filename) { - int ret = sqlite3_open(filename, &db); + int ret = sqlite3_open(filename.c_str(), &db); if (ret != SQLITE_OK) { - fprintf(stderr, "%s: %s\n", filename, sqlite3_errmsg(db)); + fprintf(stderr, "%s: %s\n", filename.c_str(), sqlite3_errmsg(db)); exit(1); } sqlite3_exec(db, R"( CREATE TABLE IF NOT EXISTS state (state BLOB); )", nullptr, nullptr, nullptr); // Ignore errors. + + sqlite3_exec(db, "PRAGMA journal_mode=WAL", nullptr, nullptr, nullptr); // Ignore errors. + sqlite3_exec(db, "PRAGMA synchronous=NORMAL", nullptr, nullptr, nullptr); // Ignore errors. } StateProto DB::get_state() @@ -67,7 +70,7 @@ void DB::store_state(const StateProto &state) } sqlite3_stmt *stmt; - ret = sqlite3_prepare(db, "INSERT INTO state VALUES (?)", -1, &stmt, 0); + ret = sqlite3_prepare(db, "INSERT INTO state VALUES (?)", -1, &stmt, 0); if (ret != SQLITE_OK) { fprintf(stderr, "INSERT prepare: %s\n", sqlite3_errmsg(db)); exit(1);