diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2015-10-11 17:32:30 +0200 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2015-10-11 17:32:30 +0200 |
commit | c3a20160d4ff52c8ec288f6a42f7e136064fb493 (patch) | |
tree | 866ff1850a7c160ed39494a989f18aef182d2d2f /common/entitystorage.cpp | |
parent | d6e6cab8b284167a9c8fd30ae669354d8315b3aa (diff) | |
download | sink-c3a20160d4ff52c8ec288f6a42f7e136064fb493.tar.gz sink-c3a20160d4ff52c8ec288f6a42f7e136064fb493.zip |
Replay removals.
Now we just have to avoid removing the revision too early from the
resource.
Diffstat (limited to 'common/entitystorage.cpp')
-rw-r--r-- | common/entitystorage.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/common/entitystorage.cpp b/common/entitystorage.cpp index b77b481..b19fe0a 100644 --- a/common/entitystorage.cpp +++ b/common/entitystorage.cpp | |||
@@ -58,7 +58,11 @@ void EntityStorageBase::readEntity(const Akonadi2::Storage::Transaction &transac | |||
58 | auto operation = metadataBuffer->operation(); | 58 | auto operation = metadataBuffer->operation(); |
59 | 59 | ||
60 | auto domainObject = create(key, revision, mDomainTypeAdaptorFactory->createAdaptor(entity)); | 60 | auto domainObject = create(key, revision, mDomainTypeAdaptorFactory->createAdaptor(entity)); |
61 | resultCallback(domainObject, operation); | 61 | if (operation == Akonadi2::Operation_Removal) { |
62 | resultCallback(create(key, revision, mDomainTypeAdaptorFactory->createAdaptor(entity)), operation); | ||
63 | } else { | ||
64 | resultCallback(create(key, revision, mDomainTypeAdaptorFactory->createAdaptor(entity)), operation); | ||
65 | } | ||
62 | return false; | 66 | return false; |
63 | }, mBufferType); | 67 | }, mBufferType); |
64 | } | 68 | } |
@@ -124,7 +128,7 @@ ResultSet EntityStorageBase::getResultSet(const Akonadi2::Query &query, Akonadi2 | |||
124 | const qint64 topRevision = Akonadi2::Storage::maxRevision(transaction); | 128 | const qint64 topRevision = Akonadi2::Storage::maxRevision(transaction); |
125 | QSet<QByteArray> remainingFilters = query.propertyFilter.keys().toSet(); | 129 | QSet<QByteArray> remainingFilters = query.propertyFilter.keys().toSet(); |
126 | ResultSet resultSet; | 130 | ResultSet resultSet; |
127 | const bool initialQuery = (baseRevision == 0); | 131 | const bool initialQuery = (baseRevision == 1); |
128 | if (initialQuery) { | 132 | if (initialQuery) { |
129 | Trace() << "Initial result set update"; | 133 | Trace() << "Initial result set update"; |
130 | resultSet = loadInitialResultSet(query, transaction, remainingFilters); | 134 | resultSet = loadInitialResultSet(query, transaction, remainingFilters); |