used 'MAEMO' define to create 'non-virtual' 'VIRUAL_EVENT' table
[toast/confclerk.git] / src / sql / sqlengine.cpp
index 87c245c..0650590 100644 (file)
@@ -51,7 +51,7 @@ void SqlEngine::initialize()
     if(!QDir::home().exists(".fosdem"))
         QDir::home().mkdir(".fosdem");
     databaseName = QDir::homePath() + "/.fosdem/" + "fosdem.sqlite";
-
+qDebug()<<databaseName;
     login("QSQLITE",databaseName);
 }
 
@@ -120,6 +120,7 @@ void SqlEngine::addEventToDB(QHash<QString,QString> &aEvent)
     }
 }
 
+
 void SqlEngine::addPersonToDB(QHash<QString,QString> &aPerson)
 {
     QSqlDatabase db = QSqlDatabase::database();
@@ -232,6 +233,19 @@ bool SqlEngine::createTables(QSqlDatabase &aDatabase)
             FOREIGN KEY(xid_conference) REFERENCES CONFERENCE(id) \
             FOREIGN KEY(xid_activity) REFERENCES ACTIVITY(id))");
 
+#ifdef MAEMO
+        // TBD: MAEMO Virtual tables compatibility (waiting for Marek).
+        // MAEMO sqlite Qt driver doesn't provide FTS support by default - use the following HACK
+        qDebug() << "MAEMO: Creating 'general', not 'virtual' table 'VIRTUAL_EVENT'";
+        query.exec("CREATE TABLE VIRTUAL_EVENT ( \
+            xid_conference INTEGER  NOT NULL, \
+            id INTEGER NOT NULL , \
+            tag VARCHAR,title VARCHAR NOT NULL , \
+            subtitle VARCHAR, \
+            abstract VARCHAR, \
+            description VARCHAR, \
+            PRIMARY KEY (xid_conference,id))");
+#else
         query.exec("CREATE VIRTUAL TABLE VIRTUAL_EVENT using fts3 ( \
             xid_conference INTEGER  NOT NULL, \
             id INTEGER NOT NULL , \
@@ -240,6 +254,7 @@ bool SqlEngine::createTables(QSqlDatabase &aDatabase)
             abstract VARCHAR, \
             description VARCHAR, \
             PRIMARY KEY (xid_conference,id))");
+#endif
 
         query.exec("CREATE TABLE EVENT_PERSON ( \
             xid_conference INTEGER NOT NULL , \