fixed a bug in the auto upgrade routine of the abstract sql storage engine
[quassel.git] / src / core / abstractsqlstorage.cpp
index bc18caf..99289f9 100644 (file)
@@ -102,6 +102,16 @@ bool AbstractSqlStorage::init(const QVariantMap &settings) {
   return true;
 }
 
+void AbstractSqlStorage::sync() {
+  QHash<QPair<QString, int>, QSqlQuery *>::iterator iter = _queryCache.begin();
+  while(iter != _queryCache.end()) {
+    delete *iter;
+    iter = _queryCache.erase(iter);
+  }
+
+  logDb().commit();
+}
+
 QString AbstractSqlStorage::queryString(const QString &queryName, int version) {
   if(version == 0)
     version = schemaVersion();
@@ -170,7 +180,7 @@ QStringList AbstractSqlStorage::upgradeQueries(int version) {
   QStringList queries;
   QDir dir = QDir(QString(":/SQL/%1/%2/").arg(engineName()).arg(version));
   foreach(QFileInfo fileInfo, dir.entryInfoList(QStringList() << "upgrade*", QDir::NoFilter, QDir::Name)) {
-    queries << queryString(fileInfo.baseName());
+    queries << queryString(fileInfo.baseName(), version);
   }
   return queries;
 }