Read revision from existing database

sql-rework
Tomasz Golinski 2019-10-01 01:48:49 +02:00
rodzic 5ca319730e
commit 27d29af9ed
2 zmienionych plików z 24 dodań i 1 usunięć

Wyświetl plik

@ -23,7 +23,8 @@ OCdb::OCdb(std::string db_file) {
!request("CREATE TABLE IF NOT EXISTS caches (code TEXT PRIMARY KEY, name TEXT, location TEXT, type TEXT, status TEXT, size TEXT, difficulty REAL, terrain REAL, country TEXT, region TEXT, owner TEXT);") ||
!request("CREATE TABLE IF NOT EXISTS logs (uuid TEXT PRIMARY KEY, cache_code TEXT, date TEXT, user TEXT, type TEXT);"))
throw 1;
// TODO: set revision
request("UPDATE revision SET revision = 0;");
read_revision();
}
OCdb::~OCdb() {
@ -241,3 +242,24 @@ bool OCdb::update_log(json j) {
sqlite3_finalize(stmt);
return 1;
}
bool OCdb::read_revision() {
int res;
std::string sql = "SELECT revision FROM revision;";
res = sqlite3_prepare_v2(db, sql.c_str(), sql.length() + 1, &stmt, NULL);
if (res != SQLITE_OK) {
Debug(1) << "Request \"" << sql << "\" failed:\n" << sqlite3_errmsg(db);
return 0;
}
res = sqlite3_step(stmt);
if (res != SQLITE_ROW) {
Debug(1) << "Request \"" << sql << "\" failed:\n" << sqlite3_errmsg(db);
return 0;
}
revision = sqlite3_column_int(stmt, 0);
sqlite3_finalize(stmt);
Debug(2) << "Revision: " << revision << '\n';
return 1;
}

1
ocdb.h
Wyświetl plik

@ -19,6 +19,7 @@ private:
bool parse_item(json j);
bool update_cache(json j);
bool update_log(json j);
bool read_revision();
public:
int revision;