BlockchainLMDB: Allow two HardFork functions to update DB during block add

Note that this doesn't yet cause them to be called during block add.
This commit is contained in:
warptangent 2016-02-08 04:58:08 -08:00
parent 15ee0bef4b
commit f47d5b0fe3
No known key found for this signature in database
GPG Key ID: 0E490BEBFBE4E92D

View File

@ -2507,14 +2507,14 @@ void BlockchainLMDB::set_hard_fork_starting_height(uint8_t version, uint64_t hei
LOG_PRINT_L3("BlockchainLMDB::" << __func__); LOG_PRINT_L3("BlockchainLMDB::" << __func__);
check_open(); check_open();
TXN_PREFIX(0); TXN_BLOCK_PREFIX(0);
MDB_val_copy<uint8_t> val_key(version); MDB_val_copy<uint8_t> val_key(version);
MDB_val_copy<uint64_t> val_value(height); MDB_val_copy<uint64_t> val_value(height);
if (auto result = mdb_put(*txn_ptr, m_hf_starting_heights, &val_key, &val_value, 0)) if (auto result = mdb_put(*txn_ptr, m_hf_starting_heights, &val_key, &val_value, 0))
throw1(DB_ERROR(std::string("Error adding hard fork starting height to db transaction: ").append(mdb_strerror(result)).c_str())); throw1(DB_ERROR(std::string("Error adding hard fork starting height to db transaction: ").append(mdb_strerror(result)).c_str()));
TXN_POSTFIX_SUCCESS(); TXN_BLOCK_POSTFIX_SUCCESS();
} }
uint64_t BlockchainLMDB::get_hard_fork_starting_height(uint8_t version) const uint64_t BlockchainLMDB::get_hard_fork_starting_height(uint8_t version) const
@ -2542,14 +2542,14 @@ void BlockchainLMDB::set_hard_fork_version(uint64_t height, uint8_t version)
LOG_PRINT_L3("BlockchainLMDB::" << __func__); LOG_PRINT_L3("BlockchainLMDB::" << __func__);
check_open(); check_open();
TXN_PREFIX(0); TXN_BLOCK_PREFIX(0);
MDB_val_copy<uint64_t> val_key(height); MDB_val_copy<uint64_t> val_key(height);
MDB_val_copy<uint8_t> val_value(version); MDB_val_copy<uint8_t> val_value(version);
if (auto result = mdb_put(*txn_ptr, m_hf_versions, &val_key, &val_value, 0)) if (auto result = mdb_put(*txn_ptr, m_hf_versions, &val_key, &val_value, 0))
throw1(DB_ERROR(std::string("Error adding hard fork version to db transaction: ").append(mdb_strerror(result)).c_str())); throw1(DB_ERROR(std::string("Error adding hard fork version to db transaction: ").append(mdb_strerror(result)).c_str()));
TXN_POSTFIX_SUCCESS(); TXN_BLOCK_POSTFIX_SUCCESS();
} }
uint8_t BlockchainLMDB::get_hard_fork_version(uint64_t height) const uint8_t BlockchainLMDB::get_hard_fork_version(uint64_t height) const