\r
db->Open("fms.db3");\r
db->SetBusyTimeout(20000); // set timeout to 20 seconds\r
+ db->Execute("PRAGMA synchronous = FULL;");\r
\r
db->Execute("CREATE TABLE IF NOT EXISTS tblDBVersion(\\r
Major INTEGER,\\r
LocalIdentityID INTEGER\\r
);");\r
\r
+ // Temporary table for form passwords\r
+ db->Execute("CREATE TEMPORARY TABLE IF NOT EXISTS tmpFormPassword(\\r
+ Date DATETIME,\\r
+ Password TEXT\\r
+ );");\r
+\r
// low / high / message count for each board\r
db->Execute("CREATE VIEW IF NOT EXISTS vwBoardStats AS \\r
SELECT tblBoard.BoardID AS 'BoardID', IFNULL(MIN(MessageID),0) AS 'LowMessageID', IFNULL(MAX(MessageID),0) AS 'HighMessageID', COUNT(MessageID) AS 'MessageCount' \\r
db->Execute("ANALYZE;");\r
\r
}\r
+\r
+const bool VerifyDB()\r
+{\r
+ SQLite3DB::DB *db=SQLite3DB::DB::Instance();\r
+ SQLite3DB::Statement st=db->Prepare("PRAGMA integrity_check;");\r
+ st.Step();\r
+ if(st.RowReturned())\r
+ {\r
+ std::string res="";\r
+ st.ResultText(0,res);\r
+ if(res=="ok")\r
+ {\r
+ return true;\r
+ }\r
+ else\r
+ {\r
+ return false;\r
+ }\r
+ }\r
+ else\r
+ {\r
+ return false;\r
+ }\r
+}\r