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
No known key found for this signature in database
GPG key ID: 0E490BEBFBE4E92D
7 changed files with 77 additions and 14 deletions

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;

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)

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);