aboutsummaryrefslogtreecommitdiff
path: root/src/blockchain_db
diff options
context:
space:
mode:
authormoneromooo-monero <moneromooo-monero@users.noreply.github.com>2015-10-04 19:00:37 +0100
committermoneromooo-monero <moneromooo-monero@users.noreply.github.com>2015-10-04 19:00:37 +0100
commit791d8cb038eb0541dce31705a0ebc11903d4b49b (patch)
tree4c42ddaab9f62b98eec2d348e8933557ba07c82c /src/blockchain_db
parentMerge pull request #410 (diff)
downloadmonero-791d8cb038eb0541dce31705a0ebc11903d4b49b.tar.xz
db_bdb: fix hard fork keys
Berkeley DB requires RECNO keys to be 32 bits, and forbids a key value of 0.
Diffstat (limited to 'src/blockchain_db')
-rw-r--r--src/blockchain_db/berkeleydb/db_bdb.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/blockchain_db/berkeleydb/db_bdb.cpp b/src/blockchain_db/berkeleydb/db_bdb.cpp
index 2a9e9a7f8..bd579ed38 100644
--- a/src/blockchain_db/berkeleydb/db_bdb.cpp
+++ b/src/blockchain_db/berkeleydb/db_bdb.cpp
@@ -1865,7 +1865,7 @@ void BlockchainBDB::set_hard_fork_starting_height(uint8_t version, uint64_t heig
LOG_PRINT_L3("BlockchainBDB::" << __func__);
check_open();
- Dbt_copy<uint8_t> val_key(version);
+ Dbt_copy<uint32_t> val_key(version + 1);
Dbt_copy<uint64_t> val(height);
if (m_hf_starting_heights->put(DB_DEFAULT_TX, &val_key, &val, 0))
throw1(DB_ERROR("Error adding hard fork starting height to db transaction."));
@@ -1876,7 +1876,7 @@ uint64_t BlockchainBDB::get_hard_fork_starting_height(uint8_t version) const
LOG_PRINT_L3("BlockchainBDB::" << __func__);
check_open();
- Dbt_copy<uint8_t> key(version);
+ Dbt_copy<uint32_t> key(version + 1);
Dbt_copy<uint64_t> result;
auto get_result = m_hf_starting_heights->get(DB_DEFAULT_TX, &key, &result, 0);
@@ -1893,7 +1893,7 @@ void BlockchainBDB::set_hard_fork_version(uint64_t height, uint8_t version)
LOG_PRINT_L3("BlockchainBDB::" << __func__);
check_open();
- Dbt_copy<uint64_t> val_key(height);
+ Dbt_copy<uint32_t> val_key(height + 1);
Dbt_copy<uint8_t> val(version);
if (m_hf_versions->put(DB_DEFAULT_TX, &val_key, &val, 0))
throw1(DB_ERROR("Error adding hard fork version to db transaction."));
@@ -1904,7 +1904,7 @@ uint8_t BlockchainBDB::get_hard_fork_version(uint64_t height) const
LOG_PRINT_L3("BlockchainBDB::" << __func__);
check_open();
- Dbt_copy<uint64_t> key(height);
+ Dbt_copy<uint32_t> key(height + 1);
Dbt_copy<uint8_t> result;
auto get_result = m_hf_versions->get(DB_DEFAULT_TX, &key, &result, 0);