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);
|
||||
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()) {
|
||||
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) {
|
||||
request("DELETE FROM caches;");
|
||||
request("DELETE FROM logs;");
|
||||
request("DELETE FROM revision;");
|
||||
request("BEGIN TRANSACTION;");
|
||||
if (!request("DROP TABLE IF EXISTS caches;") ||
|
||||
!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");
|
||||
json j;
|
||||
|
|
Ładowanie…
Reference in New Issue