summaryrefslogtreecommitdiffstats
path: root/common/storage_lmdb.cpp
diff options
context:
space:
mode:
authorAaron Seigo <aseigo@kde.org>2014-12-14 10:16:42 +0100
committerAaron Seigo <aseigo@kde.org>2014-12-14 10:16:56 +0100
commitbfc32f265e8ad72823db960fed371d72596003b7 (patch)
treeb0eee099102ce3d7e554ee25b45a27a57b50e127 /common/storage_lmdb.cpp
parentce3f95bf4863a6677670c40929e39d03171a52ba (diff)
downloadsink-bfc32f265e8ad72823db960fed371d72596003b7.tar.gz
sink-bfc32f265e8ad72823db960fed371d72596003b7.zip
remove readAll in favor of using scan
Diffstat (limited to 'common/storage_lmdb.cpp')
-rw-r--r--common/storage_lmdb.cpp46
1 files changed, 0 insertions, 46 deletions
diff --git a/common/storage_lmdb.cpp b/common/storage_lmdb.cpp
index d5c70eb..d9a501f 100644
--- a/common/storage_lmdb.cpp
+++ b/common/storage_lmdb.cpp
@@ -287,52 +287,6 @@ void Storage::scan(const char *keyData, uint keySize,
287 } 287 }
288 */ 288 */
289} 289}
290void Storage::readAll(const std::function<bool(void *key, int keySize, void *data, int dataSize)> &resultHandler,
291 const std::function<void(const Storage::Error &error)> &errorHandler)
292{
293 int rc;
294 MDB_val key;
295 MDB_val data;
296 MDB_cursor *cursor = 0;
297
298 const bool implicitTransaction = !d->transaction;
299 if (implicitTransaction) {
300 // TODO: if this fails, still try the write below?
301 if (!startTransaction(ReadOnly)) {
302 Error error(d->name.toStdString(), -2, "Could not start transaction");
303 errorHandler(error);
304 return;
305 }
306 }
307
308 rc = mdb_cursor_open(d->transaction, d->dbi, &cursor);
309 if (rc) {
310 Error error(d->name.toStdString(), rc, mdb_strerror(rc));
311 errorHandler(error);
312 return;
313 }
314
315 if ((rc = mdb_cursor_get(cursor, &key, &data, MDB_FIRST) == 0) &&
316 resultHandler(key.mv_data, key.mv_size, data.mv_data, data.mv_size)) {
317 while ((rc = mdb_cursor_get(cursor, &key, &data, MDB_NEXT)) == 0) {
318 if (!resultHandler(key.mv_data, key.mv_size, data.mv_data, data.mv_size)) {
319 break;
320 }
321 }
322 }
323
324 //We never find the last value
325 if (rc == MDB_NOTFOUND) {
326 rc = 0;
327 }
328
329 mdb_cursor_close(cursor);
330
331 if (rc) {
332 Error error(d->name.toStdString(), rc, mdb_strerror(rc));
333 errorHandler(error);
334 }
335}
336 290
337qint64 Storage::diskUsage() const 291qint64 Storage::diskUsage() const
338{ 292{