summaryrefslogtreecommitdiffstats
path: root/common/queryrunner.cpp
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2017-06-10 09:37:08 +0200
committerChristian Mollekopf <chrigi_1@fastmail.fm>2017-06-10 09:37:08 +0200
commite382924f1a90b5a27eba2e8c5981f6a4fe7892c9 (patch)
tree315780c4699be92d20121351bca4154c4fff8994 /common/queryrunner.cpp
parentf254153ac1571d5ab31a4f17fba2db9256bc24d3 (diff)
downloadsink-e382924f1a90b5a27eba2e8c5981f6a4fe7892c9.tar.gz
sink-e382924f1a90b5a27eba2e8c5981f6a4fe7892c9.zip
Fixed incremental queries
The incremental querying broke as soon as a revision update came in since it would nuke the base-set. This fixes it, but it's definitely not pretty.
Diffstat (limited to 'common/queryrunner.cpp')
-rw-r--r--common/queryrunner.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/common/queryrunner.cpp b/common/queryrunner.cpp
index 43f48c0..f196965 100644
--- a/common/queryrunner.cpp
+++ b/common/queryrunner.cpp
@@ -231,11 +231,11 @@ ReplayResult QueryWorker<DomainType>::executeIncrementalQuery(const Sink::Query
231 auto replayResult = resultSet.replaySet(0, 0, [this, query, &resultProvider](const ResultSet::Result &result) { 231 auto replayResult = resultSet.replaySet(0, 0, [this, query, &resultProvider](const ResultSet::Result &result) {
232 resultProviderCallback(query, resultProvider, result); 232 resultProviderCallback(query, resultProvider, result);
233 }); 233 });
234 234 preparedQuery.updateComplete();
235 SinkTraceCtx(mLogCtx) << "Replayed " << replayResult.replayedEntities << " results.\n" 235 SinkTraceCtx(mLogCtx) << "Replayed " << replayResult.replayedEntities << " results.\n"
236 << (replayResult.replayedAll ? "Replayed all available results.\n" : "") 236 << (replayResult.replayedAll ? "Replayed all available results.\n" : "")
237 << "Incremental query took: " << Log::TraceTime(time.elapsed()); 237 << "Incremental query took: " << Log::TraceTime(time.elapsed());
238 return {entityStore.maxRevision(), replayResult.replayedEntities, replayResult.replayedAll, preparedQuery.getState()}; 238 return {entityStore.maxRevision(), replayResult.replayedEntities, false, preparedQuery.getState()};
239} 239}
240 240
241template <class DomainType> 241template <class DomainType>
@@ -264,7 +264,7 @@ ReplayResult QueryWorker<DomainType>::executeInitialQuery(
264 return DataStoreQuery{modifiedQuery, ApplicationDomain::getTypeName<DomainType>(), entityStore}; 264 return DataStoreQuery{modifiedQuery, ApplicationDomain::getTypeName<DomainType>(), entityStore};
265 } 265 }
266 }(); 266 }();
267 auto resultSet = preparedQuery.execute();; 267 auto resultSet = preparedQuery.execute();
268 268
269 SinkTraceCtx(mLogCtx) << "Filtered set retrieved." << Log::TraceTime(time.elapsed()); 269 SinkTraceCtx(mLogCtx) << "Filtered set retrieved." << Log::TraceTime(time.elapsed());
270 auto replayResult = resultSet.replaySet(0, batchsize, [this, query, &resultProvider](const ResultSet::Result &result) { 270 auto replayResult = resultSet.replaySet(0, batchsize, [this, query, &resultProvider](const ResultSet::Result &result) {