version 0.3.33
[fms.git] / src / dbsetup.cpp
index e763469..1add253 100644 (file)
@@ -111,13 +111,25 @@ void SetupDB(SQLite3DB::DB *db)
                        major=1;\r
                        minor=15;\r
                }\r
+               if(major==1 && minor==15)\r
+               {\r
+                       ConvertDB0115To0116(db);\r
+                       major=1;\r
+                       minor=16;\r
+               }\r
+               if(major==1 && minor==16)\r
+               {\r
+                       ConvertDB0116To0117(db);\r
+                       major=1;\r
+                       minor=17;\r
+               }\r
        }\r
        else\r
        {\r
-               db->Execute("INSERT INTO tblDBVersion(Major,Minor) VALUES(1,15);");\r
+               db->Execute("INSERT INTO tblDBVersion(Major,Minor) VALUES(1,17);");\r
        }\r
 \r
-       db->Execute("UPDATE tblDBVersion SET Major=1, Minor=15;");\r
+       db->Execute("UPDATE tblDBVersion SET Major=1, Minor=17;");\r
 \r
        db->Execute("CREATE TABLE IF NOT EXISTS tblFMSVersion(\\r
                                Major                           INTEGER,\\r
@@ -218,7 +230,8 @@ void SetupDB(SQLite3DB::DB *db)
                                PeerTrustListTrust              INTEGER CHECK(PeerTrustListTrust BETWEEN 0 AND 100) DEFAULT NULL,\\r
                                AddedMethod                             TEXT,\\r
                                Hidden                                  BOOL CHECK(Hidden IN('true','false')) DEFAULT 'false',\\r
-                               PurgeDate                               DATETIME\\r
+                               PurgeDate                               DATETIME,\\r
+                               FailureCount                    INTEGER CHECK(FailureCount>=0) DEFAULT 0\\r
                                );");\r
 \r
        db->Execute("CREATE TABLE IF NOT EXISTS tblIdentityRequests(\\r
@@ -313,6 +326,7 @@ void SetupDB(SQLite3DB::DB *db)
                                MessageUUID                     TEXT UNIQUE,\\r
                                ReplyBoardID            INTEGER,\\r
                                Body                            TEXT,\\r
+                               InsertDate                      DATE,\\r
                                MessageIndex            INTEGER,\\r
                                Read                            INTEGER CHECK(Read IN(0,1)) DEFAULT 0\\r
                                );");\r
@@ -353,7 +367,8 @@ void SetupDB(SQLite3DB::DB *db)
                                FromMessageList         BOOL CHECK(FromMessageList IN('true','false')) DEFAULT 'false',\\r
                                Found                           BOOL CHECK(Found IN('true','false')) DEFAULT 'false',\\r
                                Tries                           INTEGER DEFAULT 0,\\r
-                               Key                                     TEXT\\r
+                               Key                                     TEXT,\\r
+                               FromIdentityID          INTEGER\\r
                                );");\r
 \r
        db->Execute("CREATE UNIQUE INDEX IF NOT EXISTS idxMessageRequest ON tblMessageRequests(IdentityID,Day,RequestIndex);");\r
@@ -405,6 +420,20 @@ void SetupDB(SQLite3DB::DB *db)
                                Found                           BOOL CHECK(Found IN('true','false')) DEFAULT 'false'\\r
                                );");\r
 \r
+#ifdef FROST_SUPPORT\r
+\r
+       db->Execute("CREATE TABLE IF NOT EXISTS tblFrostMessageRequests(\\r
+                               BoardID                         INTEGER,\\r
+                               Day                                     DATE,\\r
+                               RequestIndex            INTEGER,\\r
+                               Found                           BOOL CHECK(Found IN('true','false')) DEFAULT 'false',\\r
+                               Tries                           INTEGER DEFAULT 0\\r
+                               );");\r
+\r
+       db->Execute("CREATE UNIQUE INDEX IF NOT EXISTS idxFrostMessageRequest ON tblFrostMessageRequests(BoardID,Day,RequestIndex);");\r
+\r
+#endif\r
+\r
        // begin thread db schema\r
        db->Execute("CREATE TABLE IF NOT EXISTS tblThread(\\r
                                ThreadID                INTEGER PRIMARY KEY,\\r
@@ -423,7 +452,7 @@ void SetupDB(SQLite3DB::DB *db)
                                PostOrder               INTEGER\\r
                                );");\r
 \r
-       db->Execute("CREATE INDEX IF NOT EXISTS idxThreadPost_ThreadID ON tblThreadPost(ThreadID);");\r
+       db->Execute("CREATE UNIQUE INDEX IF NOT EXISTS idxThreadPost_ThreadMessage ON tblThreadPost(ThreadID,MessageID);");\r
        db->Execute("CREATE INDEX IF NOT EXISTS idxThreadPost_MessageID ON tblThreadPost(MessageID);");\r
 \r
        db->Execute("CREATE TRIGGER IF NOT EXISTS trgDeleteOnThread AFTER DELETE ON tblThread\\r