summaryrefslogtreecommitdiffstats
path: root/common/queryrunner.cpp
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2016-06-15 07:00:48 +0200
committerChristian Mollekopf <chrigi_1@fastmail.fm>2016-06-15 07:12:13 +0200
commite5d17519eb25fe7c0428e939e296f967060ff17f (patch)
tree2ef776ef9c0285a75589ccf8fb316c230fd5816f /common/queryrunner.cpp
parent77115bab30aa789f9af9fe49006e8747488f8a4c (diff)
downloadsink-e5d17519eb25fe7c0428e939e296f967060ff17f.tar.gz
sink-e5d17519eb25fe7c0428e939e296f967060ff17f.zip
Remember the revision we loaded in the result set.
Otherwise we reload the same entities over and over.
Diffstat (limited to 'common/queryrunner.cpp')
-rw-r--r--common/queryrunner.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/common/queryrunner.cpp b/common/queryrunner.cpp
index f2a7753..90f046b 100644
--- a/common/queryrunner.cpp
+++ b/common/queryrunner.cpp
@@ -94,6 +94,7 @@ QueryRunner<DomainType>::QueryRunner(const Sink::Query &query, const Sink::Resou
94 if (query.liveQuery) { 94 if (query.liveQuery) {
95 mResourceAccess->sendRevisionReplayedCommand(newRevisionAndReplayedEntities.first); 95 mResourceAccess->sendRevisionReplayedCommand(newRevisionAndReplayedEntities.first);
96 } 96 }
97 resultProvider->setRevision(newRevisionAndReplayedEntities.first);
97 resultProvider->initialResultSetComplete(parent); 98 resultProvider->initialResultSetComplete(parent);
98 }) 99 })
99 .exec(); 100 .exec();
@@ -111,9 +112,10 @@ QueryRunner<DomainType>::QueryRunner(const Sink::Query &query, const Sink::Resou
111 const auto newRevisionAndReplayedEntities = worker.executeIncrementalQuery(query, *resultProvider); 112 const auto newRevisionAndReplayedEntities = worker.executeIncrementalQuery(query, *resultProvider);
112 return newRevisionAndReplayedEntities; 113 return newRevisionAndReplayedEntities;
113 }) 114 })
114 .template then<void, QPair<qint64, qint64> >([query, this](const QPair<qint64, qint64> &newRevisionAndReplayedEntities) { 115 .template then<void, QPair<qint64, qint64> >([query, this, resultProvider](const QPair<qint64, qint64> &newRevisionAndReplayedEntities) {
115 // Only send the revision replayed information if we're connected to the resource, there's no need to start the resource otherwise. 116 // Only send the revision replayed information if we're connected to the resource, there's no need to start the resource otherwise.
116 mResourceAccess->sendRevisionReplayedCommand(newRevisionAndReplayedEntities.first); 117 mResourceAccess->sendRevisionReplayedCommand(newRevisionAndReplayedEntities.first);
118 resultProvider->setRevision(newRevisionAndReplayedEntities.first);
117 }); 119 });
118 }); 120 });
119 // Ensure the connection is open, if it wasn't already opened 121 // Ensure the connection is open, if it wasn't already opened