X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fglobal.cpp;h=2dea27b565b22547f9b2657fcb4006169531e52f;hb=e773b0ecb8a35c67cde5b2e82bbebb05224f34d0;hp=d145a54fff22a7eb5c3de59113911caf609ea480;hpb=bae54a5dae027ad0a6b0126ec9eeecd3bd2739eb;p=fms.git diff --git a/src/global.cpp b/src/global.cpp index d145a54..2dea27b 100644 --- a/src/global.cpp +++ b/src/global.cpp @@ -95,13 +95,19 @@ void SetupDB() major=1; minor=7; } + if(major==1 && minor==7) + { + ConvertDB0107To0108(); + major=1; + minor=8; + } } else { - db->Execute("INSERT INTO tblDBVersion(Major,Minor) VALUES(1,7);"); + db->Execute("INSERT INTO tblDBVersion(Major,Minor) VALUES(1,8);"); } - db->Execute("UPDATE tblDBVersion SET Major=1, Minor=7;"); + db->Execute("UPDATE tblDBVersion SET Major=1, Minor=8;"); db->Execute("CREATE TABLE IF NOT EXISTS tblOption(\ Option TEXT UNIQUE,\ @@ -118,6 +124,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 +177,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,\ @@ -472,6 +480,9 @@ void SetupDB() // TODO remove sometime after 0.1.17 FixCapitalBoardNames(); + // run analyze - may speed up some queries + db->Execute("ANALYZE;"); + } void ConvertDB0100To0101() @@ -578,6 +589,15 @@ 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 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