From 5fd22ce5775cc50bdf4f1fec2038bf09ef20d553 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Tue, 22 May 2018 13:38:39 +0200 Subject: DbLayout support for indexes --- common/index.cpp | 8 ++++++++ common/index.h | 1 + 2 files changed, 9 insertions(+) diff --git a/common/index.cpp b/common/index.cpp index a4641bc..ff87ae2 100644 --- a/common/index.cpp +++ b/common/index.cpp @@ -10,6 +10,14 @@ Index::Index(const QString &storageRoot, const QString &name, Sink::Storage::Dat { } +Index::Index(const QString &storageRoot, const Sink::Storage::DbLayout &layout, Sink::Storage::DataStore::AccessMode mode) + : mTransaction(Sink::Storage::DataStore(storageRoot, layout, mode).createTransaction(mode)), + mDb(mTransaction.openDatabase(layout.name, std::function(), true)), + mName(layout.name), + mLogCtx("index." + layout.name) +{ +} + Index::Index(const QByteArray &name, Sink::Storage::DataStore::Transaction &transaction) : mDb(transaction.openDatabase(name, std::function(), true)), mName(name), mLogCtx("index." + name) diff --git a/common/index.h b/common/index.h index 81dc5bf..f16a426 100644 --- a/common/index.h +++ b/common/index.h @@ -30,6 +30,7 @@ public: }; Index(const QString &storageRoot, const QString &name, Sink::Storage::DataStore::AccessMode mode = Sink::Storage::DataStore::ReadOnly); + Index(const QString &storageRoot, const Sink::Storage::DbLayout &layout, Sink::Storage::DataStore::AccessMode mode = Sink::Storage::DataStore::ReadOnly); Index(const QByteArray &name, Sink::Storage::DataStore::Transaction &); void add(const QByteArray &key, const QByteArray &value); -- cgit v1.2.3