#include <Poco/Timestamp.h>\r
#include <Poco/DateTimeFormatter.h>\r
\r
-void ConvertDB0100To0101()\r
+void ConvertDB0100To0101(SQLite3DB::DB *db)\r
{\r
// added unique constraint to public and private key\r
- SQLite3DB::DB *db=SQLite3DB::DB::Instance();\r
db->Execute("CREATE TEMPORARY TABLE tblLocalIdentityTemp AS SELECT * FROM tblLocalIdentity;");\r
db->Execute("DROP TABLE IF EXISTS tblLocalIdentity;");\r
db->Execute("CREATE TABLE IF NOT EXISTS tblLocalIdentity(\\r
db->Execute("UPDATE tblDBVersion SET Major=1, Minor=1;");\r
}\r
\r
-void ConvertDB0101To0103()\r
+void ConvertDB0101To0103(SQLite3DB::DB *db)\r
{\r
// remove default 50 from trust fields and set default to NULL\r
- SQLite3DB::DB *db=SQLite3DB::DB::Instance();\r
db->Execute("CREATE TEMPORARY TABLE tblIdentityTemp AS SELECT * FROM tblIdentity;");\r
db->Execute("DROP TABLE IF EXISTS tblIdentity;");\r
db->Execute("CREATE TABLE IF NOT EXISTS tblIdentity(\\r
db->Execute("UPDATE tblDBVersion SET Major=1, Minor=3;");\r
}\r
\r
-void ConvertDB0103To0104()\r
+void ConvertDB0103To0104(SQLite3DB::DB *db)\r
{\r
// add MessageIndex to tblMessage\r
Poco::Timestamp date;\r
- SQLite3DB::DB *db=SQLite3DB::DB::Instance();\r
db->Execute("ALTER TABLE tblMessage ADD COLUMN MessageIndex INTEGER;");\r
db->Execute("CREATE UNIQUE INDEX IF NOT EXISTS idxMessageRequest ON tblMessageRequests(IdentityID,Day,RequestIndex);");\r
db->Execute("ALTER TABLE tblLocalIdentity ADD COLUMN DateCreated DATETIME;");\r
db->Execute("UPDATE tblDBVersion SET Major=1, Minor=4;");\r
}\r
\r
-void ConvertDB0104To0105()\r
+void ConvertDB0104To0105(SQLite3DB::DB *db)\r
{\r
// add AddedMethod, MessageTrustComment, TrustListTrustComment to tblIdentity\r
// add MessageTrustComment,TrustListTrustComment to tblPeerTrust\r
- SQLite3DB::DB *db=SQLite3DB::DB::Instance();\r
db->Execute("ALTER TABLE tblIdentity ADD COLUMN AddedMethod TEXT;");\r
db->Execute("ALTER TABLE tblIdentity ADD COLUMN MessageTrustComment TEXT;");\r
db->Execute("ALTER TABLE tblIdentity ADD COLUMN TrustListTrustComment TEXT;");\r
db->Execute("UPDATE tblDBVersion SET Major=1, Minor=5;");\r
}\r
\r
-void ConvertDB0105To0106()\r
+void ConvertDB0105To0106(SQLite3DB::DB *db)\r
{\r
// add Publish Freesite\r
- SQLite3DB::DB *db=SQLite3DB::DB::Instance();\r
db->Execute("ALTER TABLE tblLocalIdentity ADD COLUMN PublishFreesite BOOL CHECK(PublishFreesite IN('true','false')) DEFAULT 'false';");\r
db->Execute("ALTER TABLE tblLocalIdentity ADD COLUMN LastInsertedFreesite DATETIME;");\r
db->Execute("UPDATE tblDBVersion SET Major=1, Minor=6;");\r
}\r
\r
-void ConvertDB0106To0107()\r
+void ConvertDB0106To0107(SQLite3DB::DB *db)\r
{\r
// add AddedMethod to tblBoard\r
- SQLite3DB::DB *db=SQLite3DB::DB::Instance();\r
db->Execute("ALTER TABLE tblBoard ADD COLUMN AddedMethod TEXT;");\r
db->Execute("ALTER TABLE tblIdentity ADD COLUMN Hidden BOOL CHECK(Hidden IN('true','false')) DEFAULT 'false';");\r
db->Execute("UPDATE tblIdentity SET Hidden='false' WHERE Hidden IS NULL;");\r
db->Execute("UPDATE tblDBVersion SET Major=1, Minor=7;");\r
}\r
\r
-void ConvertDB0107To0108()\r
+void ConvertDB0107To0108(SQLite3DB::DB *db)\r
{\r
// add FreesiteEdition to tblLocalIdentity and tblIdentity\r
- SQLite3DB::DB *db=SQLite3DB::DB::Instance();\r
db->Execute("ALTER TABLE tblLocalIdentity ADD COLUMN FreesiteEdition INTEGER;");\r
db->Execute("ALTER TABLE tblIdentity ADD COLUMN FreesiteEdition INTEGER;");\r
db->Execute("UPDATE tblDBVersion SET Major=1, Minor=8;");\r
}\r
\r
-void ConvertDB0108To0109()\r
+void ConvertDB0108To0109(SQLite3DB::DB *db)\r
{\r
- SQLite3DB::DB *db=SQLite3DB::DB::Instance();\r
db->Execute("CREATE TABLE IF NOT EXISTS tblFileInserts(\\r
FileInsertID INTEGER PRIMARY KEY,\\r
MessageUUID TEXT,\\r
db->Execute("UPDATE tblDBVersion SET Major=1, Minor=9;");\r
}\r
\r
-void ConvertDB0109To0110()\r
+void ConvertDB0109To0110(SQLite3DB::DB *db)\r
{\r
- SQLite3DB::DB *db=SQLite3DB::DB::Instance();\r
db->Execute("ALTER TABLE tblFileInserts ADD COLUMN MimeType TEXT;");\r
db->Execute("UPDATE tblDBVersion SET Major=1, Minor=10;");\r
}\r
\r
-void ConvertDB0110To0111()\r
+void ConvertDB0110To0111(SQLite3DB::DB *db)\r
{\r
/*\r
Drop MessageTrustComment, TrustListTrustComment FROM tblIdentity\r
\r
Add SendDate to tblMessageInserts\r
*/\r
- SQLite3DB::DB *db=SQLite3DB::DB::Instance();\r
\r
db->Execute("ALTER TABLE tblMessageInserts ADD COLUMN SendDate DATETIME;");\r
\r
db->Execute("UPDATE tblDBVersion SET Major=1, Minor=11;");\r
}\r
\r
-void ConvertDB0111To0112()\r
+void ConvertDB0111To0112(SQLite3DB::DB *db)\r
{\r
/*\r
Add Section, SortOrder, ValidValues to tblOption\r
Add PurgeDate to tblIdentity\r
*/\r
- SQLite3DB::DB *db=SQLite3DB::DB::Instance();\r
\r
db->Execute("ALTER TABLE tblOption ADD COLUMN Section TEXT;");\r
db->Execute("ALTER TABLE tblOption ADD COLUMN SortOrder INTEGER;");\r
db->Execute("UPDATE tblDBVersion SET Major=1, Minor=12;");\r
}\r
\r
-void ConvertDB0112To0113()\r
+void ConvertDB0112To0113(SQLite3DB::DB *db)\r
{\r
// Add Tries and Key (for anonymous messages) to tblMessageRequests \r
- SQLite3DB::DB *db=SQLite3DB::DB::Instance();\r
\r
db->Execute("ALTER TABLE tblMessageRequests ADD COLUMN Tries INTEGER DEFAULT 0;");\r
db->Execute("ALTER TABLE tblMessageRequests ADD COLUMN Key TEXT;");\r
db->Execute("UPDATE tblDBVersion SET Major=1, Minor=13;");\r
}\r
\r
-void ConvertDB0113To0114()\r
+void ConvertDB0113To0114(SQLite3DB::DB *db)\r
{\r
- SQLite3DB::DB *db=SQLite3DB::DB::Instance();\r
\r
db->Execute("ALTER TABLE tblBoard ADD COLUMN Forum TEXT CHECK(Forum IN ('true','false')) DEFAULT 'false';");\r
db->Execute("ALTER TABLE tblMessage ADD COLUMN Read INTEGER CHECK(Read IN (0,1)) DEFAULT 0;");\r
db->Execute("UPDATE tblDBVersion SET Major=1, Minor=14;");\r
}\r
\r
-void FixCapitalBoardNames()\r
+void ConvertDB0114To0115(SQLite3DB::DB *db)\r
+{\r
+\r
+ db->Execute("ALTER TABLE tblOption ADD COLUMN DisplayType TEXT CHECK (DisplayType IN ('textbox','textarea','select','multiselect')) DEFAULT 'textbox';");\r
+ db->Execute("ALTER TABLE tblOption ADD COLUMN DisplayParam1 TEXT;");\r
+ db->Execute("ALTER TABLE tblOption ADD COLUMN DisplayParam2 TEXT;");\r
+ db->Execute("ALTER TABLE tblOption ADD COLUMN Mode TEXT CHECK (Mode IN ('simple','advanced')) DEFAULT 'simple';");\r
+\r
+ db->Execute("UPDATE tblDBVersion SET Major=1, Minor=15;");\r
+}\r
+\r
+void ConvertDB0115To0116(SQLite3DB::DB *db)\r
+{\r
+ // Add FromIdentityID to tblMessageRequests so we know who we got this index from\r
+ // Add FailureCount\r
+\r
+ db->Execute("ALTER TABLE tblMessageRequests ADD COLUMN FromIdentityID INTEGER;");\r
+ db->Execute("ALTER TABLE tblIdentity ADD COLUMN FailureCount INTEGER CHECK(FailureCount>=0) DEFAULT 0;");\r
+\r
+ db->Execute("UPDATE tblDBVersion SET Major=1, Minor=16;");\r
+}\r
+\r
+void ConvertDB0116To0117(SQLite3DB::DB *db)\r
+{\r
+ // Add InsertDate to tblMessage\r
+\r
+ db->Execute("ALTER TABLE tblMessage ADD COLUMN InsertDate DATE;");\r
+ db->Execute("DROP INDEX IF EXISTS idxThreadPost_ThreadID;");\r
+\r
+ db->Execute("UPDATE tblDBVersion SET Major=1, Minor=17;");\r
+}\r
+\r
+void FixCapitalBoardNames(SQLite3DB::DB *db)\r
{\r
- SQLite3DB::DB *db=SQLite3DB::DB::Instance();\r
\r
SQLite3DB::Statement st=db->Prepare("SELECT BoardID,BoardName FROM tblBoard WHERE BoardID NOT IN (SELECT BoardID FROM tblAdministrationBoard);");\r
SQLite3DB::Statement st2=db->Prepare("SELECT BoardID FROM tblBoard WHERE BoardName=?;");\r