|
Rex Dieter |
6c7a48 |
From c2e9a4140ddbd7374c8f60e4ed644b73cc3533f0 Mon Sep 17 00:00:00 2001
|
|
Rex Dieter |
6c7a48 |
From: Marco Martin <notmart@gmail.com>
|
|
Rex Dieter |
6c7a48 |
Date: Mon, 28 Jan 2013 10:25:44 +0100
|
|
Rex Dieter |
6c7a48 |
Subject: [PATCH 1/3] disable the cache for the SQlite backend
|
|
Rex Dieter |
6c7a48 |
|
|
Rex Dieter |
6c7a48 |
using the cache for sqlite makes impossible to create agents
|
|
Rex Dieter |
6c7a48 |
---
|
|
Rex Dieter |
6c7a48 |
server/src/storage/querycache.cpp | 12 ++++++++++--
|
|
Rex Dieter |
6c7a48 |
1 file changed, 10 insertions(+), 2 deletions(-)
|
|
Rex Dieter |
6c7a48 |
|
|
Rex Dieter |
6c7a48 |
diff --git a/server/src/storage/querycache.cpp b/server/src/storage/querycache.cpp
|
|
Rex Dieter |
6c7a48 |
index 860aba0..5b683d5 100644
|
|
Rex Dieter |
6c7a48 |
--- a/server/src/storage/querycache.cpp
|
|
Rex Dieter |
6c7a48 |
+++ b/server/src/storage/querycache.cpp
|
|
Rex Dieter |
6c7a48 |
@@ -18,6 +18,8 @@
|
|
Rex Dieter |
6c7a48 |
*/
|
|
Rex Dieter |
6c7a48 |
|
|
Rex Dieter |
6c7a48 |
#include "querycache.h"
|
|
Rex Dieter |
6c7a48 |
+#include "dbtype.h"
|
|
Rex Dieter |
6c7a48 |
+#include "datastore.h"
|
|
Rex Dieter |
6c7a48 |
|
|
Rex Dieter |
6c7a48 |
#include <QSqlQuery>
|
|
Rex Dieter |
6c7a48 |
#include <QThreadStorage>
|
|
Rex Dieter |
6c7a48 |
@@ -36,7 +38,11 @@ static QHash<QString, QSqlQuery>* cache()
|
|
Rex Dieter |
6c7a48 |
|
|
Rex Dieter |
6c7a48 |
bool QueryCache::contains(const QString& queryStatement)
|
|
Rex Dieter |
6c7a48 |
{
|
|
Rex Dieter |
6c7a48 |
- return cache()->contains( queryStatement );
|
|
Rex Dieter |
6c7a48 |
+ if ( DbType::type( DataStore::self()->database() ) == DbType::Sqlite ) {
|
|
Rex Dieter |
6c7a48 |
+ return false;
|
|
Rex Dieter |
6c7a48 |
+ } else {
|
|
Rex Dieter |
6c7a48 |
+ return cache()->contains( queryStatement );
|
|
Rex Dieter |
6c7a48 |
+ }
|
|
Rex Dieter |
6c7a48 |
}
|
|
Rex Dieter |
6c7a48 |
|
|
Rex Dieter |
6c7a48 |
QSqlQuery QueryCache::query(const QString& queryStatement)
|
|
Rex Dieter |
6c7a48 |
@@ -46,5 +52,7 @@ QSqlQuery QueryCache::query(const QString& queryStatement)
|
|
Rex Dieter |
6c7a48 |
|
|
Rex Dieter |
6c7a48 |
void QueryCache::insert(const QString& queryStatement, const QSqlQuery& query)
|
|
Rex Dieter |
6c7a48 |
{
|
|
Rex Dieter |
6c7a48 |
- cache()->insert( queryStatement, query );
|
|
Rex Dieter |
6c7a48 |
+ if ( DbType::type( DataStore::self()->database() ) != DbType::Sqlite ) {
|
|
Rex Dieter |
6c7a48 |
+ cache()->insert( queryStatement, query );
|
|
Rex Dieter |
6c7a48 |
+ }
|
|
Rex Dieter |
6c7a48 |
}
|
|
Rex Dieter |
6c7a48 |
--
|
|
Rex Dieter |
6c7a48 |
1.8.1.2
|
|
Rex Dieter |
6c7a48 |
|