diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2015-12-22 10:42:37 +0100 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2015-12-22 10:42:37 +0100 |
commit | 31dbc0cba9e5acfaeca41679873b17e11ceab811 (patch) | |
tree | ceabdf4f92666d92c72e9382c8c0c80bed23b837 /common/queryrunner.cpp | |
parent | e5125013a2661b30f21323f1a3f925103e8d589f (diff) | |
download | sink-31dbc0cba9e5acfaeca41679873b17e11ceab811.tar.gz sink-31dbc0cba9e5acfaeca41679873b17e11ceab811.zip |
Only load the properties we need.
...and adjust the test accordingly with what we expect.
Diffstat (limited to 'common/queryrunner.cpp')
-rw-r--r-- | common/queryrunner.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
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<typename DomainType::Ptr>::Ptr QueryRunner<Doma | |||
103 | } | 103 | } |
104 | 104 | ||
105 | template<class DomainType> | 105 | template<class DomainType> |
106 | void QueryRunner<DomainType>::replaySet(ResultSet &resultSet, Akonadi2::ResultProviderInterface<typename DomainType::Ptr> &resultProvider) | 106 | void QueryRunner<DomainType>::replaySet(ResultSet &resultSet, Akonadi2::ResultProviderInterface<typename DomainType::Ptr> &resultProvider, const QList<QByteArray> &properties) |
107 | { | 107 | { |
108 | int counter = 0; | 108 | int counter = 0; |
109 | while (resultSet.next([&resultProvider, &counter](const Akonadi2::ApplicationDomain::ApplicationDomainType::Ptr &value, Akonadi2::Operation operation) -> bool { | 109 | while (resultSet.next([&resultProvider, &counter, &properties](const Akonadi2::ApplicationDomain::ApplicationDomainType::Ptr &value, Akonadi2::Operation operation) -> bool { |
110 | counter++; | 110 | counter++; |
111 | switch (operation) { | 111 | switch (operation) { |
112 | case Akonadi2::Operation_Creation: | 112 | case Akonadi2::Operation_Creation: |
113 | // Trace() << "Got creation"; | 113 | // Trace() << "Got creation"; |
114 | resultProvider.add(Akonadi2::ApplicationDomain::ApplicationDomainType::getInMemoryRepresentation<DomainType>(*value).template staticCast<DomainType>()); | 114 | resultProvider.add(Akonadi2::ApplicationDomain::ApplicationDomainType::getInMemoryRepresentation<DomainType>(*value, properties).template staticCast<DomainType>()); |
115 | break; | 115 | break; |
116 | case Akonadi2::Operation_Modification: | 116 | case Akonadi2::Operation_Modification: |
117 | // Trace() << "Got modification"; | 117 | // Trace() << "Got modification"; |
118 | resultProvider.modify(Akonadi2::ApplicationDomain::ApplicationDomainType::getInMemoryRepresentation<DomainType>(*value).template staticCast<DomainType>()); | 118 | resultProvider.modify(Akonadi2::ApplicationDomain::ApplicationDomainType::getInMemoryRepresentation<DomainType>(*value, properties).template staticCast<DomainType>()); |
119 | break; | 119 | break; |
120 | case Akonadi2::Operation_Removal: | 120 | case Akonadi2::Operation_Removal: |
121 | // Trace() << "Got removal"; | 121 | // Trace() << "Got removal"; |
122 | resultProvider.remove(Akonadi2::ApplicationDomain::ApplicationDomainType::getInMemoryRepresentation<DomainType>(*value).template staticCast<DomainType>()); | 122 | resultProvider.remove(Akonadi2::ApplicationDomain::ApplicationDomainType::getInMemoryRepresentation<DomainType>(*value, properties).template staticCast<DomainType>()); |
123 | break; | 123 | break; |
124 | } | 124 | } |
125 | return true; | 125 | return true; |
@@ -263,7 +263,7 @@ qint64 QueryRunner<DomainType>::load(const Akonadi2::Query &query, const std::fu | |||
263 | QSet<QByteArray> remainingFilters; | 263 | QSet<QByteArray> remainingFilters; |
264 | auto resultSet = baseSetRetriever(transaction, remainingFilters); | 264 | auto resultSet = baseSetRetriever(transaction, remainingFilters); |
265 | auto filteredSet = filterSet(resultSet, getFilter(remainingFilters, query), db, initialQuery); | 265 | auto filteredSet = filterSet(resultSet, getFilter(remainingFilters, query), db, initialQuery); |
266 | replaySet(filteredSet, resultProvider); | 266 | replaySet(filteredSet, resultProvider, query.requestedProperties); |
267 | resultProvider.setRevision(Akonadi2::Storage::maxRevision(transaction)); | 267 | resultProvider.setRevision(Akonadi2::Storage::maxRevision(transaction)); |
268 | return Akonadi2::Storage::maxRevision(transaction); | 268 | return Akonadi2::Storage::maxRevision(transaction); |
269 | } | 269 | } |