summaryrefslogtreecommitdiffstats
path: root/common/queryrunner.cpp
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2016-02-11 21:32:14 +0100
committerChristian Mollekopf <chrigi_1@fastmail.fm>2016-02-11 21:32:14 +0100
commit466c60dcef3b593f04e51bae843366fbf6ce697b (patch)
tree1bdf7e4f15e3b697e26bd4d4d5cb111d54e98852 /common/queryrunner.cpp
parent7af2d3ac28311917eabd1b7c0ae07fffdf401b2f (diff)
downloadsink-466c60dcef3b593f04e51bae843366fbf6ce697b.tar.gz
sink-466c60dcef3b593f04e51bae843366fbf6ce697b.zip
More queryrunner timings
Diffstat (limited to 'common/queryrunner.cpp')
-rw-r--r--common/queryrunner.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/common/queryrunner.cpp b/common/queryrunner.cpp
index 22682d3..b6f5b51 100644
--- a/common/queryrunner.cpp
+++ b/common/queryrunner.cpp
@@ -329,6 +329,9 @@ std::function<bool(const Sink::ApplicationDomain::ApplicationDomainType::Ptr &do
329template<class DomainType> 329template<class DomainType>
330qint64 QueryWorker<DomainType>::load(const Sink::Query &query, const std::function<ResultSet(Sink::Storage::Transaction &, QSet<QByteArray> &)> &baseSetRetriever, Sink::ResultProviderInterface<typename DomainType::Ptr> &resultProvider, bool initialQuery) 330qint64 QueryWorker<DomainType>::load(const Sink::Query &query, const std::function<ResultSet(Sink::Storage::Transaction &, QSet<QByteArray> &)> &baseSetRetriever, Sink::ResultProviderInterface<typename DomainType::Ptr> &resultProvider, bool initialQuery)
331{ 331{
332 QTime time;
333 time.start();
334
332 Sink::Storage storage(Sink::storageLocation(), mResourceInstanceIdentifier); 335 Sink::Storage storage(Sink::storageLocation(), mResourceInstanceIdentifier);
333 storage.setDefaultErrorHandler([](const Sink::Storage::Error &error) { 336 storage.setDefaultErrorHandler([](const Sink::Storage::Error &error) {
334 Warning() << "Error during query: " << error.store << error.message; 337 Warning() << "Error during query: " << error.store << error.message;
@@ -338,8 +341,11 @@ qint64 QueryWorker<DomainType>::load(const Sink::Query &query, const std::functi
338 341
339 QSet<QByteArray> remainingFilters; 342 QSet<QByteArray> remainingFilters;
340 auto resultSet = baseSetRetriever(transaction, remainingFilters); 343 auto resultSet = baseSetRetriever(transaction, remainingFilters);
344 Trace() << "Base set retrieved. " << time.elapsed();
341 auto filteredSet = filterSet(resultSet, getFilter(remainingFilters, query), db, initialQuery); 345 auto filteredSet = filterSet(resultSet, getFilter(remainingFilters, query), db, initialQuery);
346 Trace() << "Filtered set retrieved. " << time.elapsed();
342 replaySet(filteredSet, resultProvider, query.requestedProperties); 347 replaySet(filteredSet, resultProvider, query.requestedProperties);
348 Trace() << "Filtered set replayed. " << time.elapsed();
343 resultProvider.setRevision(Sink::Storage::maxRevision(transaction)); 349 resultProvider.setRevision(Sink::Storage::maxRevision(transaction));
344 return Sink::Storage::maxRevision(transaction); 350 return Sink::Storage::maxRevision(transaction);
345} 351}