X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;ds=sidebyside;f=src%2Fglobal.cpp;h=7e6d8424847d78071c1e8b131e2df86733064a8e;hb=63376b2a82c3f6cdf2df56b1f134bd7df0aaab3a;hp=587f1419af6d9f7dc7c58aa78f64475abfd4204d;hpb=0574a75431d98ed64c5cc6291600bb3759b399a6;p=fms.git diff --git a/src/global.cpp b/src/global.cpp index 587f141..7e6d842 100644 --- a/src/global.cpp +++ b/src/global.cpp @@ -95,13 +95,25 @@ void SetupDB() major=1; minor=7; } + if(major==1 && minor==7) + { + ConvertDB0107To0108(); + major=1; + minor=8; + } + if(major==1 && minor==8) + { + ConvertDB0108To0109(); + major=1; + minor=9; + } } else { - db->Execute("INSERT INTO tblDBVersion(Major,Minor) VALUES(1,7);"); + db->Execute("INSERT INTO tblDBVersion(Major,Minor) VALUES(1,9);"); } - db->Execute("UPDATE tblDBVersion SET Major=1, Minor=7;"); + db->Execute("UPDATE tblDBVersion SET Major=1, Minor=9;"); db->Execute("CREATE TABLE IF NOT EXISTS tblOption(\ Option TEXT UNIQUE,\ @@ -118,6 +130,7 @@ void SetupDB() PublishTrustList BOOL CHECK(PublishTrustList IN('true','false')) DEFAULT 'false',\ PublishBoardList BOOL CHECK(PublishBoardList IN('true','false')) DEFAULT 'false',\ PublishFreesite BOOL CHECK(PublishFreesite IN('true','false')) DEFAULT 'false',\ + FreesiteEdition INTEGER,\ InsertingIdentity BOOL CHECK(InsertingIdentity IN('true','false')) DEFAULT 'false',\ LastInsertedIdentity DATETIME,\ InsertingPuzzle BOOL CHECK(InsertingPuzzle IN('true','false')) DEFAULT 'false',\ @@ -170,6 +183,7 @@ void SetupDB() SingleUse BOOL CHECK(SingleUse IN('true','false')) DEFAULT 'false',\ PublishTrustList BOOL CHECK(PublishTrustList IN('true','false')) DEFAULT 'false',\ PublishBoardList BOOL CHECK(PublishBoardList IN('true','false')) DEFAULT 'false',\ + FreesiteEdition INTEGER,\ DateAdded DATETIME,\ LastSeen DATETIME,\ LocalMessageTrust INTEGER CHECK(LocalMessageTrust BETWEEN 0 AND 100) DEFAULT NULL,\ @@ -320,6 +334,15 @@ void SetupDB() Inserted BOOL CHECK(Inserted IN('true','false')) DEFAULT 'false'\ );"); + db->Execute("CREATE TABLE IF NOT EXISTS tblFileInserts(\ + FileInsertID INTEGER PRIMARY KEY,\ + MessageUUID TEXT,\ + FileName TEXT,\ + Key TEXT,\ + Size INTEGER,\ + Data BLOB\ + );"); + db->Execute("CREATE TABLE IF NOT EXISTS tblMessageListInserts(\ LocalIdentityID INTEGER,\ Day DATE,\ @@ -581,6 +604,29 @@ void ConvertDB0106To0107() db->Execute("UPDATE tblDBVersion SET Major=1, Minor=7;"); } +void ConvertDB0107To0108() +{ + // add FreesiteEdition to tblLocalIdentity and tblIdentity + SQLite3DB::DB *db=SQLite3DB::DB::Instance(); + db->Execute("ALTER TABLE tblLocalIdentity ADD COLUMN FreesiteEdition INTEGER;"); + db->Execute("ALTER TABLE tblIdentity ADD COLUMN FreesiteEdition INTEGER;"); + db->Execute("UPDATE tblDBVersion SET Major=1, Minor=8;"); +} + +void ConvertDB0108To0109() +{ + SQLite3DB::DB *db=SQLite3DB::DB::Instance(); + db->Execute("CREATE TABLE IF NOT EXISTS tblFileInserts(\ + FileInsertID INTEGER PRIMARY KEY,\ + MessageUUID TEXT,\ + FileName TEXT,\ + Key TEXT,\ + Size INTEGER,\ + Data BLOB\ + );"); + db->Execute("UPDATE tblDBVersion SET Major=1, Minor=9;"); +} + void SetupDefaultOptions() { // OptionValue should always be inserted as a string, even if the option really isn't a string - just to keep the field data type consistent