15#include <unordered_map>
45 void open_database(
const std::string& name,
bool duplicateKeysPermitted =
false);
58 std::unordered_map<std::string, LMDBDatabase::SharedPtr>
databases;
std::unique_ptr< LMDBCursor > Ptr
std::shared_ptr< LMDBDatabase > SharedPtr
std::shared_ptr< LMDBReadTransaction > SharedPtr
std::shared_ptr< LMDBStore > SharedPtr
std::vector< Database::SharedPtr > get_databases() const
std::unique_ptr< LMDBStore > Ptr
Database::SharedPtr get_database(const std::string &name)
void open_database(const std::string &name, bool duplicateKeysPermitted=false)
LMDBStore(const LMDBStore &other)=delete
std::pair< uint64_t, uint64_t > get_stats(std::vector< DBStats > &stats) const
void close_database(const std::string &name)
LMDBStore(LMDBStore &&other)=delete
void put(std::vector< PutData > &data)
LMDBStore & operator=(LMDBStore &&other)=delete
std::mutex databasesMutex
std::unordered_map< std::string, LMDBDatabase::SharedPtr > databases
LMDBStore & operator=(const LMDBStore &other)=delete
Cursor::Ptr create_cursor(ReadTransaction::SharedPtr tx, const std::string &dbName)
~LMDBStore() override=default
void get(KeysVector &keys, OptionalValuesVector &values, const std::string &name)
const std::vector< FF > data
std::vector< Key > KeysVector
std::vector< KeyValuesPair > KeyDupValuesVector
std::vector< OptionalValues > OptionalValuesVector
std::vector< KeyOptionalValuesPair > KeyOptionalValuesVector
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
KeyOptionalValuesVector toDelete
KeyDupValuesVector toWrite