diff options
Diffstat (limited to 'common/queryrunner.cpp')
-rw-r--r-- | common/queryrunner.cpp | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/common/queryrunner.cpp b/common/queryrunner.cpp index f196965..f3a9af8 100644 --- a/common/queryrunner.cpp +++ b/common/queryrunner.cpp | |||
@@ -245,23 +245,12 @@ ReplayResult QueryWorker<DomainType>::executeInitialQuery( | |||
245 | QTime time; | 245 | QTime time; |
246 | time.start(); | 246 | time.start(); |
247 | 247 | ||
248 | auto modifiedQuery = query; | ||
249 | if (!query.parentProperty().isEmpty()) { | ||
250 | if (parent) { | ||
251 | SinkTraceCtx(mLogCtx) << "Running initial query for parent:" << parent->identifier(); | ||
252 | modifiedQuery.filter(query.parentProperty(), Query::Comparator(QVariant::fromValue(Sink::ApplicationDomain::Reference{parent->identifier()}))); | ||
253 | } else { | ||
254 | SinkTraceCtx(mLogCtx) << "Running initial query for toplevel"; | ||
255 | modifiedQuery.filter(query.parentProperty(), Query::Comparator(QVariant{})); | ||
256 | } | ||
257 | } | ||
258 | |||
259 | auto entityStore = EntityStore{mResourceContext, mLogCtx}; | 248 | auto entityStore = EntityStore{mResourceContext, mLogCtx}; |
260 | auto preparedQuery = [&] { | 249 | auto preparedQuery = [&] { |
261 | if (state) { | 250 | if (state) { |
262 | return DataStoreQuery{*state, ApplicationDomain::getTypeName<DomainType>(), entityStore, false}; | 251 | return DataStoreQuery{*state, ApplicationDomain::getTypeName<DomainType>(), entityStore, false}; |
263 | } else { | 252 | } else { |
264 | return DataStoreQuery{modifiedQuery, ApplicationDomain::getTypeName<DomainType>(), entityStore}; | 253 | return DataStoreQuery{query, ApplicationDomain::getTypeName<DomainType>(), entityStore}; |
265 | } | 254 | } |
266 | }(); | 255 | }(); |
267 | auto resultSet = preparedQuery.execute(); | 256 | auto resultSet = preparedQuery.execute(); |