Blob Blame History Raw
From c2e9a4140ddbd7374c8f60e4ed644b73cc3533f0 Mon Sep 17 00:00:00 2001
From: Marco Martin <notmart@gmail.com>
Date: Mon, 28 Jan 2013 10:25:44 +0100
Subject: [PATCH 1/3] disable the cache for the SQlite backend

using the cache for sqlite makes impossible to create agents
---
 server/src/storage/querycache.cpp | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/server/src/storage/querycache.cpp b/server/src/storage/querycache.cpp
index 860aba0..5b683d5 100644
--- a/server/src/storage/querycache.cpp
+++ b/server/src/storage/querycache.cpp
@@ -18,6 +18,8 @@
  */
 
 #include "querycache.h"
+#include "dbtype.h"
+#include "datastore.h"
 
 #include <QSqlQuery>
 #include <QThreadStorage>
@@ -36,7 +38,11 @@ static QHash<QString, QSqlQuery>* cache()
 
 bool QueryCache::contains(const QString& queryStatement)
 {
-  return cache()->contains( queryStatement );
+  if ( DbType::type( DataStore::self()->database() ) == DbType::Sqlite ) {
+    return false;
+  } else {
+    return cache()->contains( queryStatement );
+  }
 }
 
 QSqlQuery QueryCache::query(const QString& queryStatement)
@@ -46,5 +52,7 @@ QSqlQuery QueryCache::query(const QString& queryStatement)
 
 void QueryCache::insert(const QString& queryStatement, const QSqlQuery& query)
 {
-  cache()->insert( queryStatement, query );
+  if ( DbType::type( DataStore::self()->database() ) != DbType::Sqlite ) {
+    cache()->insert( queryStatement, query );
+  }
 }
-- 
1.8.1.2