diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2015-11-25 09:37:59 +0100 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2015-11-25 09:37:59 +0100 |
commit | a4acb7e251cba5ba6d66bf6235736202255c4eac (patch) | |
tree | aff6b7d7d852959bb4767809d3911d18b4ae3269 /common/facade.cpp | |
parent | 00e6b843e9f2881faccb312594a0e91c42df0096 (diff) | |
download | sink-a4acb7e251cba5ba6d66bf6235736202255c4eac.tar.gz sink-a4acb7e251cba5ba6d66bf6235736202255c4eac.zip |
Only use the parent index when it's available
Diffstat (limited to 'common/facade.cpp')
-rw-r--r-- | common/facade.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/common/facade.cpp b/common/facade.cpp index 850d28b..68770b5 100644 --- a/common/facade.cpp +++ b/common/facade.cpp | |||
@@ -350,12 +350,14 @@ template<class DomainType> | |||
350 | qint64 GenericFacade<DomainType>::executeInitialQuery(const Akonadi2::Query &query, const typename DomainType::Ptr &parent, Akonadi2::ResultProviderInterface<typename DomainType::Ptr> &resultProvider) | 350 | qint64 GenericFacade<DomainType>::executeInitialQuery(const Akonadi2::Query &query, const typename DomainType::Ptr &parent, Akonadi2::ResultProviderInterface<typename DomainType::Ptr> &resultProvider) |
351 | { | 351 | { |
352 | auto modifiedQuery = query; | 352 | auto modifiedQuery = query; |
353 | if (parent && !query.parentProperty.isEmpty()) { | 353 | if (!query.parentProperty.isEmpty()) { |
354 | Trace() << "Running initial query for parent:" << parent->identifier(); | 354 | if (parent) { |
355 | modifiedQuery.propertyFilter.insert(query.parentProperty, parent->identifier()); | 355 | Trace() << "Running initial query for parent:" << parent->identifier(); |
356 | } else { | 356 | modifiedQuery.propertyFilter.insert(query.parentProperty, parent->identifier()); |
357 | Trace() << "Running initial query for toplevel"; | 357 | } else { |
358 | modifiedQuery.propertyFilter.insert(query.parentProperty, QVariant()); | 358 | Trace() << "Running initial query for toplevel"; |
359 | modifiedQuery.propertyFilter.insert(query.parentProperty, QVariant()); | ||
360 | } | ||
359 | } | 361 | } |
360 | return load(modifiedQuery, [&](Akonadi2::Storage::Transaction &transaction, QSet<QByteArray> &remainingFilters) -> ResultSet { | 362 | return load(modifiedQuery, [&](Akonadi2::Storage::Transaction &transaction, QSet<QByteArray> &remainingFilters) -> ResultSet { |
361 | return loadInitialResultSet(modifiedQuery, transaction, remainingFilters); | 363 | return loadInitialResultSet(modifiedQuery, transaction, remainingFilters); |