diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2017-06-10 09:37:08 +0200 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2017-06-10 09:37:08 +0200 |
commit | e382924f1a90b5a27eba2e8c5981f6a4fe7892c9 (patch) | |
tree | 315780c4699be92d20121351bca4154c4fff8994 /common/queryrunner.cpp | |
parent | f254153ac1571d5ab31a4f17fba2db9256bc24d3 (diff) | |
download | sink-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.cpp | 6 |
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 | ||
241 | template <class DomainType> | 241 | template <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) { |