aboutsummaryrefslogtreecommitdiff
path: root/src/blockchain_db/lmdb
diff options
context:
space:
mode:
authormoneromooo-monero <moneromooo-monero@users.noreply.github.com>2017-02-11 10:16:18 +0000
committermoneromooo-monero <moneromooo-monero@users.noreply.github.com>2017-02-11 10:16:18 +0000
commitf2986ccfc1f41023cd667dbb488a10df492eb8e7 (patch)
treedf5f7b9d8e8fe777af15ac72d04d43efcc6057e5 /src/blockchain_db/lmdb
parentMerge pull request #1698 (diff)
downloadmonero-f2986ccfc1f41023cd667dbb488a10df492eb8e7.tar.xz
db_lmdb: fix bad height saved in tx data
The recent change to not keep separate track of the blockchain height caused the reported height to jump early in the lmdb transaction (when the block data is added to the blocks table), rather than at the end, after everything succeeded. Since the block data is added before the transaction data, this caused the transaction data to be saved with a height one more than its expected value. Fix this by saving the block data last. This should have no side effects.
Diffstat (limited to 'src/blockchain_db/lmdb')
-rw-r--r--src/blockchain_db/lmdb/db_lmdb.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/blockchain_db/lmdb/db_lmdb.cpp b/src/blockchain_db/lmdb/db_lmdb.cpp
index 863f54246..0a35325e4 100644
--- a/src/blockchain_db/lmdb/db_lmdb.cpp
+++ b/src/blockchain_db/lmdb/db_lmdb.cpp
@@ -628,6 +628,7 @@ void BlockchainLMDB::add_block(const block& blk, const size_t& block_size, const
CURSOR(blocks)
CURSOR(block_info)
+ // this call to mdb_cursor_put will change height()
MDB_val_copy<blobdata> blob(block_to_blob(blk));
result = mdb_cursor_put(m_cur_blocks, &key, &blob, MDB_APPEND);
if (result)