From cec73d506f6481631c1aa508f5e470e348e462da Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Tue, 31 May 2016 09:48:32 +0200 Subject: Open a valid database also in the NullChangeReplay and skip internal keys --- examples/dummyresource/resourcefactory.cpp | 2 +- examples/imapresource/imapresource.cpp | 5 ++++- examples/maildirresource/maildirresource.cpp | 3 +++ 3 files changed, 8 insertions(+), 2 deletions(-) (limited to 'examples') diff --git a/examples/dummyresource/resourcefactory.cpp b/examples/dummyresource/resourcefactory.cpp index 674aca7..a443581 100644 --- a/examples/dummyresource/resourcefactory.cpp +++ b/examples/dummyresource/resourcefactory.cpp @@ -129,7 +129,7 @@ DummyResource::DummyResource(const QByteArray &instanceIdentifier, const QShared : Sink::GenericResource(PLUGIN_NAME, instanceIdentifier, pipeline) { setupSynchronizer(QSharedPointer::create(PLUGIN_NAME, instanceIdentifier)); - setupChangereplay(QSharedPointer::create()); + setupChangereplay(QSharedPointer::create(instanceIdentifier)); setupPreprocessors(ENTITY_TYPE_MAIL, QVector() << new DefaultIndexUpdater); setupPreprocessors(ENTITY_TYPE_FOLDER, diff --git a/examples/imapresource/imapresource.cpp b/examples/imapresource/imapresource.cpp index 72cc058..e725872 100644 --- a/examples/imapresource/imapresource.cpp +++ b/examples/imapresource/imapresource.cpp @@ -152,6 +152,9 @@ public: // auto remoteIds = synchronizationTransaction.openDatabase("rid.mapping." + bufferType, std::function(), true); auto mainDatabase = Sink::Storage::mainDatabase(transaction(), bufferType); mainDatabase.scan("", [&](const QByteArray &key, const QByteArray &) { + if (Sink::Storage::isInternalKey(key)) { + return true; + } callback(key); return true; }); @@ -364,7 +367,7 @@ ImapResource::ImapResource(const QByteArray &instanceIdentifier, const QSharedPo synchronizer->mPassword = mPassword; synchronizer->mResourceInstanceIdentifier = instanceIdentifier; setupSynchronizer(synchronizer); - auto changereplay = QSharedPointer::create(); + auto changereplay = QSharedPointer::create(instanceIdentifier); // auto changereplay = QSharedPointer::create(PLUGIN_NAME, instanceIdentifier); // changereplay->mServer = mServer; // changereplay->mPort = mPort; diff --git a/examples/maildirresource/maildirresource.cpp b/examples/maildirresource/maildirresource.cpp index eb35d39..67a2b43 100644 --- a/examples/maildirresource/maildirresource.cpp +++ b/examples/maildirresource/maildirresource.cpp @@ -289,6 +289,9 @@ public: // auto remoteIds = synchronizationTransaction.openDatabase("rid.mapping." + bufferType, std::function(), true); auto mainDatabase = Sink::Storage::mainDatabase(transaction(), bufferType); mainDatabase.scan("", [&](const QByteArray &key, const QByteArray &) { + if (Sink::Storage::isInternalKey(key)) { + return true; + } callback(key); return true; }); -- cgit v1.2.3