diff --git a/nano/node/lmdb/frontier_store.hpp b/nano/node/lmdb/frontier_store.hpp index 805d2717..faf0d2cf 100644 --- a/nano/node/lmdb/frontier_store.hpp +++ b/nano/node/lmdb/frontier_store.hpp @@ -2,6 +2,8 @@ #include +#include + namespace nano { namespace lmdb @@ -9,6 +11,9 @@ namespace lmdb class store; class frontier_store : public nano::frontier_store { + private: + nano::lmdb::store & store; + public: frontier_store (nano::lmdb::store & store); void put (nano::write_transaction const &, nano::block_hash const &, nano::account const &) override; @@ -19,8 +24,11 @@ namespace lmdb nano::store_iterator end () const override; void for_each_par (std::function, nano::store_iterator)> const & action_a) const override; - private: - nano::lmdb::store & store; + /** + * Maps head block to owning account + * nano::block_hash -> nano::account + */ + MDB_dbi frontiers_handle{ 0 }; }; } } diff --git a/nano/node/lmdb/lmdb.cpp b/nano/node/lmdb/lmdb.cpp index 8b273aa3..d948e896 100644 --- a/nano/node/lmdb/lmdb.cpp +++ b/nano/node/lmdb/lmdb.cpp @@ -210,7 +210,7 @@ nano::mdb_txn_callbacks nano::lmdb::store::create_txn_callbacks () const void nano::lmdb::store::open_databases (bool & error_a, nano::transaction const & transaction_a, unsigned flags) { - error_a |= mdb_dbi_open (env.tx (transaction_a), "frontiers", flags, &frontiers_handle) != 0; + error_a |= mdb_dbi_open (env.tx (transaction_a), "frontiers", flags, &frontier_store.frontiers_handle) != 0; error_a |= mdb_dbi_open (env.tx (transaction_a), "unchecked", flags, &unchecked_handle) != 0; error_a |= mdb_dbi_open (env.tx (transaction_a), "online_weight", flags, &online_weight_handle) != 0; error_a |= mdb_dbi_open (env.tx (transaction_a), "meta", flags, &meta_handle) != 0; @@ -861,7 +861,7 @@ MDB_dbi nano::lmdb::store::table_to_dbi (tables table_a) const switch (table_a) { case tables::frontiers: - return frontiers_handle; + return frontier_store.frontiers_handle; case tables::accounts: return accounts_handle; case tables::blocks: diff --git a/nano/node/lmdb/lmdb.hpp b/nano/node/lmdb/lmdb.hpp index 93b1c199..10722f9a 100644 --- a/nano/node/lmdb/lmdb.hpp +++ b/nano/node/lmdb/lmdb.hpp @@ -94,12 +94,6 @@ namespace lmdb public: nano::mdb_env env; - /** - * Maps head block to owning account - * nano::block_hash -> nano::account - */ - MDB_dbi frontiers_handle{ 0 }; - /** * Maps account v1 to account information, head, rep, open, balance, timestamp and block count. (Removed) * nano::account -> nano::block_hash, nano::block_hash, nano::block_hash, nano::amount, uint64_t, uint64_t