Add support for database open with flags

Add support to:
  - BlockchainDB, BlockchainLMDB
  - blockchain_import utility to open LMDB database with one or more
    LMDB flags.

Sample use:
  $ blockchain_import --database lmdb#nosync
  $ blockchain_import --database lmdb#nosync,nometasync
This commit is contained in:
warptangent
2015-02-11 16:02:20 -08:00
parent cb862cb81a
commit 275cbd4348
7 changed files with 77 additions and 14 deletions
+1 -1
View File
@@ -326,7 +326,7 @@ public:
void show_stats();
// open the db at location <filename>, or create it if there isn't one.
virtual void open(const std::string& filename) = 0;
virtual void open(const std::string& filename, const int db_flags = 0) = 0;
// make sure implementation has a create function as well
virtual void create(const std::string& filename) = 0;
+1 -2
View File
@@ -635,9 +635,8 @@ BlockchainLMDB::BlockchainLMDB(bool batch_transactions)
m_height = 0;
}
void BlockchainLMDB::open(const std::string& filename)
void BlockchainLMDB::open(const std::string& filename, const int mdb_flags)
{
int mdb_flags = 0;
LOG_PRINT_L3("BlockchainLMDB::" << __func__);
if (m_open)
+1 -1
View File
@@ -114,7 +114,7 @@ public:
BlockchainLMDB(bool batch_transactions=false);
~BlockchainLMDB();
virtual void open(const std::string& filename);
virtual void open(const std::string& filename, const int mdb_flags=0);
virtual void create(const std::string& filename);