From 31dbc0cba9e5acfaeca41679873b17e11ceab811 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Tue, 22 Dec 2015 10:42:37 +0100 Subject: Only load the properties we need. ...and adjust the test accordingly with what we expect. --- common/queryrunner.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'common/queryrunner.cpp') diff --git a/common/queryrunner.cpp b/common/queryrunner.cpp index 2de3c10..d3f5254 100644 --- a/common/queryrunner.cpp +++ b/common/queryrunner.cpp @@ -103,23 +103,23 @@ typename Akonadi2::ResultEmitter::Ptr QueryRunner -void QueryRunner::replaySet(ResultSet &resultSet, Akonadi2::ResultProviderInterface &resultProvider) +void QueryRunner::replaySet(ResultSet &resultSet, Akonadi2::ResultProviderInterface &resultProvider, const QList &properties) { int counter = 0; - while (resultSet.next([&resultProvider, &counter](const Akonadi2::ApplicationDomain::ApplicationDomainType::Ptr &value, Akonadi2::Operation operation) -> bool { + while (resultSet.next([&resultProvider, &counter, &properties](const Akonadi2::ApplicationDomain::ApplicationDomainType::Ptr &value, Akonadi2::Operation operation) -> bool { counter++; switch (operation) { case Akonadi2::Operation_Creation: // Trace() << "Got creation"; - resultProvider.add(Akonadi2::ApplicationDomain::ApplicationDomainType::getInMemoryRepresentation(*value).template staticCast()); + resultProvider.add(Akonadi2::ApplicationDomain::ApplicationDomainType::getInMemoryRepresentation(*value, properties).template staticCast()); break; case Akonadi2::Operation_Modification: // Trace() << "Got modification"; - resultProvider.modify(Akonadi2::ApplicationDomain::ApplicationDomainType::getInMemoryRepresentation(*value).template staticCast()); + resultProvider.modify(Akonadi2::ApplicationDomain::ApplicationDomainType::getInMemoryRepresentation(*value, properties).template staticCast()); break; case Akonadi2::Operation_Removal: // Trace() << "Got removal"; - resultProvider.remove(Akonadi2::ApplicationDomain::ApplicationDomainType::getInMemoryRepresentation(*value).template staticCast()); + resultProvider.remove(Akonadi2::ApplicationDomain::ApplicationDomainType::getInMemoryRepresentation(*value, properties).template staticCast()); break; } return true; @@ -263,7 +263,7 @@ qint64 QueryRunner::load(const Akonadi2::Query &query, const std::fu QSet remainingFilters; auto resultSet = baseSetRetriever(transaction, remainingFilters); auto filteredSet = filterSet(resultSet, getFilter(remainingFilters, query), db, initialQuery); - replaySet(filteredSet, resultProvider); + replaySet(filteredSet, resultProvider, query.requestedProperties); resultProvider.setRevision(Akonadi2::Storage::maxRevision(transaction)); return Akonadi2::Storage::maxRevision(transaction); } -- cgit v1.2.3