kopia lustrzana https://gitlab.com/tomaszg/geostat
Read revision from existing database
rodzic
5ca319730e
commit
27d29af9ed
24
ocdb.cpp
24
ocdb.cpp
|
@ -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
1
ocdb.h
|
@ -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;
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue