summaryrefslogtreecommitdiffstats
path: root/common/storage_common.cpp
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2015-10-12 13:14:41 +0200
committerChristian Mollekopf <chrigi_1@fastmail.fm>2015-10-12 13:15:05 +0200
commit7eb4227cfcda1cbcf066c37d5e6679ef350d518c (patch)
treeb037abca2091bd92c123cd6fb6bfd6c46ac0bbfb /common/storage_common.cpp
parent2144ed85258e0e9d02d08cc4e5898dd34e776df6 (diff)
downloadsink-7eb4227cfcda1cbcf066c37d5e6679ef350d518c.tar.gz
sink-7eb4227cfcda1cbcf066c37d5e6679ef350d518c.zip
Cleanup revisions with a delay
Diffstat (limited to 'common/storage_common.cpp')
-rw-r--r--common/storage_common.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/common/storage_common.cpp b/common/storage_common.cpp
index 2c23f97..1dbc178 100644
--- a/common/storage_common.cpp
+++ b/common/storage_common.cpp
@@ -73,6 +73,25 @@ qint64 Storage::maxRevision(const Akonadi2::Storage::Transaction &transaction)
73 return r; 73 return r;
74} 74}
75 75
76void Storage::setCleanedUpRevision(Akonadi2::Storage::Transaction &transaction, qint64 revision)
77{
78 transaction.openDatabase().write("__internal_cleanedUpRevision", QByteArray::number(revision));
79}
80
81qint64 Storage::cleanedUpRevision(const Akonadi2::Storage::Transaction &transaction)
82{
83 qint64 r = 0;
84 transaction.openDatabase().scan("__internal_cleanedUpRevision", [&](const QByteArray &, const QByteArray &revision) -> bool {
85 r = revision.toLongLong();
86 return false;
87 }, [](const Error &error){
88 if (error.code != Akonadi2::Storage::NotFound) {
89 std::cout << "Coultn'd find the maximum revision" << std::endl;
90 }
91 });
92 return r;
93}
94
76QByteArray Storage::getUidFromRevision(const Akonadi2::Storage::Transaction &transaction, qint64 revision) 95QByteArray Storage::getUidFromRevision(const Akonadi2::Storage::Transaction &transaction, qint64 revision)
77{ 96{
78 QByteArray uid; 97 QByteArray uid;