X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fdbsetup.cpp;h=01858aa5f7a295b5bf6de062ae0214687d85eb21;hb=9ae3b1434e51788e6feb72e1415ec800d05c535a;hp=e7634692eb95f49cfb0052833a5da3ba1a26edf9;hpb=59a5414ec47a2932a7802fcd1d98c4d80166564f;p=fms.git diff --git a/src/dbsetup.cpp b/src/dbsetup.cpp index e763469..01858aa 100644 --- a/src/dbsetup.cpp +++ b/src/dbsetup.cpp @@ -111,13 +111,25 @@ void SetupDB(SQLite3DB::DB *db) major=1; minor=15; } + if(major==1 && minor==15) + { + ConvertDB0115To0116(db); + major=1; + minor=16; + } + if(major==1 && minor==16) + { + ConvertDB0116To0117(db); + major=1; + minor=17; + } } else { - db->Execute("INSERT INTO tblDBVersion(Major,Minor) VALUES(1,15);"); + db->Execute("INSERT INTO tblDBVersion(Major,Minor) VALUES(1,17);"); } - db->Execute("UPDATE tblDBVersion SET Major=1, Minor=15;"); + db->Execute("UPDATE tblDBVersion SET Major=1, Minor=17;"); db->Execute("CREATE TABLE IF NOT EXISTS tblFMSVersion(\ Major INTEGER,\ @@ -218,7 +230,8 @@ void SetupDB(SQLite3DB::DB *db) PeerTrustListTrust INTEGER CHECK(PeerTrustListTrust BETWEEN 0 AND 100) DEFAULT NULL,\ AddedMethod TEXT,\ Hidden BOOL CHECK(Hidden IN('true','false')) DEFAULT 'false',\ - PurgeDate DATETIME\ + PurgeDate DATETIME,\ + FailureCount INTEGER CHECK(FailureCount>=0) DEFAULT 0\ );"); db->Execute("CREATE TABLE IF NOT EXISTS tblIdentityRequests(\ @@ -313,6 +326,7 @@ void SetupDB(SQLite3DB::DB *db) MessageUUID TEXT UNIQUE,\ ReplyBoardID INTEGER,\ Body TEXT,\ + InsertDate DATE,\ MessageIndex INTEGER,\ Read INTEGER CHECK(Read IN(0,1)) DEFAULT 0\ );"); @@ -353,7 +367,8 @@ void SetupDB(SQLite3DB::DB *db) FromMessageList BOOL CHECK(FromMessageList IN('true','false')) DEFAULT 'false',\ Found BOOL CHECK(Found IN('true','false')) DEFAULT 'false',\ Tries INTEGER DEFAULT 0,\ - Key TEXT\ + Key TEXT,\ + FromIdentityID INTEGER\ );"); db->Execute("CREATE UNIQUE INDEX IF NOT EXISTS idxMessageRequest ON tblMessageRequests(IdentityID,Day,RequestIndex);"); @@ -423,7 +438,7 @@ void SetupDB(SQLite3DB::DB *db) PostOrder INTEGER\ );"); - db->Execute("CREATE INDEX IF NOT EXISTS idxThreadPost_ThreadID ON tblThreadPost(ThreadID);"); + db->Execute("CREATE UNIQUE INDEX IF NOT EXISTS idxThreadPost_ThreadMessage ON tblThreadPost(ThreadID,MessageID);"); db->Execute("CREATE INDEX IF NOT EXISTS idxThreadPost_MessageID ON tblThreadPost(MessageID);"); db->Execute("CREATE TRIGGER IF NOT EXISTS trgDeleteOnThread AFTER DELETE ON tblThread\