kopia lustrzana https://gitlab.com/tomaszg/geostat
Change SQLite db init code
rodzic
9a25aa1f33
commit
8dd58d1a90
19
ocdb.cpp
19
ocdb.cpp
|
@ -19,10 +19,6 @@ OCdb::OCdb(const std::string& db_file) {
|
||||||
Debug(1) << sqlite3_errmsg(db);
|
Debug(1) << sqlite3_errmsg(db);
|
||||||
throw 1;
|
throw 1;
|
||||||
}
|
}
|
||||||
if (!request("CREATE TABLE IF NOT EXISTS revision (revision INTEGER PRIMARY KEY);") ||
|
|
||||||
!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;
|
|
||||||
if (!read_revision()) {
|
if (!read_revision()) {
|
||||||
Debug(1) << "Error reading database revision, database may be corrupt or empty.\n";
|
Debug(1) << "Error reading database revision, database may be corrupt or empty.\n";
|
||||||
}
|
}
|
||||||
|
@ -52,9 +48,18 @@ bool OCdb::request(const std::string& req) const {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool OCdb::init(const std::string& dump_path) {
|
bool OCdb::init(const std::string& dump_path) {
|
||||||
request("DELETE FROM caches;");
|
request("BEGIN TRANSACTION;");
|
||||||
request("DELETE FROM logs;");
|
if (!request("DROP TABLE IF EXISTS caches;") ||
|
||||||
request("DELETE FROM revision;");
|
!request("DROP TABLE IF EXISTS logs;") ||
|
||||||
|
!request("DROP TABLE IF EXISTS revision;"))
|
||||||
|
throw 1;
|
||||||
|
|
||||||
|
if (!request("CREATE TABLE IF NOT EXISTS revision (revision INTEGER PRIMARY KEY);") ||
|
||||||
|
!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);") ||
|
||||||
|
!request("CREATE INDEX idx_user on logs (user, type);"))
|
||||||
|
throw 1;
|
||||||
|
request("COMMIT;");
|
||||||
|
|
||||||
std::ifstream file(dump_path + "index.json");
|
std::ifstream file(dump_path + "index.json");
|
||||||
json j;
|
json j;
|
||||||
|
|
Ładowanie…
Reference in New Issue