diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2015-08-23 18:53:36 +0200 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2015-08-23 18:53:36 +0200 |
commit | 62e7084dcd6f53275fcb21ba17e880e41b40094d (patch) | |
tree | 302b051e94eb76c2fc18593597457b7b84953333 /common/storage_lmdb.cpp | |
parent | 4141b5e8e6296ca8ab94553e27257f8c2b107461 (diff) | |
download | sink-62e7084dcd6f53275fcb21ba17e880e41b40094d.tar.gz sink-62e7084dcd6f53275fcb21ba17e880e41b40094d.zip |
Duplicate settings as part of opening db.
Diffstat (limited to 'common/storage_lmdb.cpp')
-rw-r--r-- | common/storage_lmdb.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/common/storage_lmdb.cpp b/common/storage_lmdb.cpp index 3e7c962..13755bb 100644 --- a/common/storage_lmdb.cpp +++ b/common/storage_lmdb.cpp | |||
@@ -324,14 +324,14 @@ void Storage::Transaction::abort() | |||
324 | d->transaction = nullptr; | 324 | d->transaction = nullptr; |
325 | } | 325 | } |
326 | 326 | ||
327 | Storage::NamedDatabase Storage::Transaction::openDatabase(const QByteArray &db, const std::function<void(const Storage::Error &error)> &errorHandler) const | 327 | Storage::NamedDatabase Storage::Transaction::openDatabase(const QByteArray &db, const std::function<void(const Storage::Error &error)> &errorHandler, bool allowDuplicates) const |
328 | { | 328 | { |
329 | if (!d) { | 329 | if (!d) { |
330 | return Storage::NamedDatabase(); | 330 | return Storage::NamedDatabase(); |
331 | } | 331 | } |
332 | //We don't now if anything changed | 332 | //We don't now if anything changed |
333 | d->implicitCommit = true; | 333 | d->implicitCommit = true; |
334 | auto p = new Storage::NamedDatabase::Private(db, d->allowDuplicates, d->defaultErrorHandler, d->name, d->transaction); | 334 | auto p = new Storage::NamedDatabase::Private(db, allowDuplicates, d->defaultErrorHandler, d->name, d->transaction); |
335 | if (!p->openDatabase(d->requestedRead, errorHandler)) { | 335 | if (!p->openDatabase(d->requestedRead, errorHandler)) { |
336 | return Storage::NamedDatabase(); | 336 | return Storage::NamedDatabase(); |
337 | delete p; | 337 | delete p; |
@@ -345,7 +345,7 @@ bool Storage::Transaction::write(const QByteArray &key, const QByteArray &value, | |||
345 | d->error = true; | 345 | d->error = true; |
346 | errorHandler ? errorHandler(error) : d->defaultErrorHandler(error); | 346 | errorHandler ? errorHandler(error) : d->defaultErrorHandler(error); |
347 | }; | 347 | }; |
348 | openDatabase("default", eHandler).write(key, value, eHandler); | 348 | openDatabase("default", eHandler, d->allowDuplicates).write(key, value, eHandler); |
349 | d->implicitCommit = true; | 349 | d->implicitCommit = true; |
350 | 350 | ||
351 | return !d->error; | 351 | return !d->error; |
@@ -358,7 +358,7 @@ void Storage::Transaction::remove(const QByteArray &k, | |||
358 | d->error = true; | 358 | d->error = true; |
359 | errorHandler ? errorHandler(error) : d->defaultErrorHandler(error); | 359 | errorHandler ? errorHandler(error) : d->defaultErrorHandler(error); |
360 | }; | 360 | }; |
361 | openDatabase("default", eHandler).remove(k, eHandler); | 361 | openDatabase("default", eHandler, d->allowDuplicates).remove(k, eHandler); |
362 | d->implicitCommit = true; | 362 | d->implicitCommit = true; |
363 | } | 363 | } |
364 | 364 | ||
@@ -366,7 +366,7 @@ int Storage::Transaction::scan(const QByteArray &k, | |||
366 | const std::function<bool(const QByteArray &key, const QByteArray &value)> &resultHandler, | 366 | const std::function<bool(const QByteArray &key, const QByteArray &value)> &resultHandler, |
367 | const std::function<void(const Storage::Error &error)> &errorHandler) const | 367 | const std::function<void(const Storage::Error &error)> &errorHandler) const |
368 | { | 368 | { |
369 | auto db = openDatabase("default"); | 369 | auto db = openDatabase("default", std::function<void(const Storage::Error &error)>(), d->allowDuplicates); |
370 | if (db) { | 370 | if (db) { |
371 | return db.scan(k, resultHandler, errorHandler); | 371 | return db.scan(k, resultHandler, errorHandler); |
372 | } | 372 | } |