summaryrefslogtreecommitdiffstats
path: root/common/datastorequery.h
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2016-10-04 08:25:18 +0200
committerChristian Mollekopf <chrigi_1@fastmail.fm>2016-10-04 08:25:18 +0200
commitd6a01b3f82d626856001356c0875aa738a0346ac (patch)
treed77a6000e9d53be7844d72697496efa093b5f8ad /common/datastorequery.h
parent48ba18c92eede967afc4cf8894a3b06fd6a3c179 (diff)
downloadsink-d6a01b3f82d626856001356c0875aa738a0346ac.tar.gz
sink-d6a01b3f82d626856001356c0875aa738a0346ac.zip
Support for subqueries.
This allows us to match properties from a subquery. Unfortunately this also means that DataStoreQuery needs access to all type implementations to issue the subquery (for potentially another type).
Diffstat (limited to 'common/datastorequery.h')
-rw-r--r--common/datastorequery.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/common/datastorequery.h b/common/datastorequery.h
index 6620bbe..03b4eac 100644
--- a/common/datastorequery.h
+++ b/common/datastorequery.h
@@ -24,6 +24,7 @@
24#include "typeindex.h" 24#include "typeindex.h"
25#include "query.h" 25#include "query.h"
26#include "entitybuffer.h" 26#include "entitybuffer.h"
27#include "log.h"
27 28
28 29
29class Source; 30class Source;
@@ -52,6 +53,7 @@ protected:
52 QVector<QByteArray> loadIncrementalResultSet(qint64 baseRevision); 53 QVector<QByteArray> loadIncrementalResultSet(qint64 baseRevision);
53 54
54 void setupQuery(); 55 void setupQuery();
56 QByteArrayList executeSubquery(const Sink::Query &subquery);
55 57
56 Sink::Query mQuery; 58 Sink::Query mQuery;
57 Sink::Storage::Transaction &mTransaction; 59 Sink::Storage::Transaction &mTransaction;
@@ -62,6 +64,8 @@ protected:
62 bool mInitialQuery; 64 bool mInitialQuery;
63 QSharedPointer<FilterBase> mCollector; 65 QSharedPointer<FilterBase> mCollector;
64 QSharedPointer<Source> mSource; 66 QSharedPointer<Source> mSource;
67
68 SINK_DEBUG_COMPONENT(mType)
65}; 69};
66 70
67 71