Merge pull request #1832

eb62dcc8 Remove redundant num_txs() method (Howard Chu)
296641e0 Fix #1824 don't end batch that we didn't start (Howard Chu)
This commit is contained in:
Riccardo Spagni 2017-03-03 18:56:46 +02:00
commit 3e761c137d
No known key found for this signature in database
GPG Key ID: 55432DF31CCD4FCD
3 changed files with 7 additions and 20 deletions

View File

@ -749,7 +749,7 @@ uint64_t BlockchainLMDB::add_transaction_data(const crypto::hash& blk_hash, cons
uint64_t m_height = height();
int result;
uint64_t tx_id = num_txs();
uint64_t tx_id = get_tx_count();
CURSOR(txs)
CURSOR(tx_indices)
@ -1741,20 +1741,6 @@ uint64_t BlockchainLMDB::height() const
return db_stats.ms_entries;
}
uint64_t BlockchainLMDB::num_txs() const
{
LOG_PRINT_L3("BlockchainLMDB::" << __func__);
check_open();
TXN_PREFIX_RDONLY();
int result;
// get current height
MDB_stat db_stats;
if ((result = mdb_stat(m_txn, m_txs, &db_stats)))
throw0(DB_ERROR(lmdb_error("Failed to query m_txs: ", result).c_str()));
return db_stats.ms_entries;
}
uint64_t BlockchainLMDB::num_outputs() const
{
LOG_PRINT_L3("BlockchainLMDB::" << __func__);
@ -1900,10 +1886,11 @@ uint64_t BlockchainLMDB::get_tx_count() const
check_open();
TXN_PREFIX_RDONLY();
int result;
MDB_stat db_stats;
if (mdb_stat(m_txn, m_tx_indices, &db_stats))
throw0(DB_ERROR("Failed to query m_tx_indices"));
if ((result = mdb_stat(m_txn, m_txs, &db_stats)))
throw0(DB_ERROR(lmdb_error("Failed to query m_txs: ", result).c_str()));
TXN_POSTFIX_RDONLY();

View File

@ -310,7 +310,6 @@ private:
virtual void remove_spent_key(const crypto::key_image& k_image);
uint64_t num_txs() const;
uint64_t num_outputs() const;
// Hard fork

View File

@ -222,7 +222,7 @@ bool HardFork::reorganize_from_block_height(uint64_t height)
return false;
db.set_batch_transactions(true);
db.batch_start();
bool stop_batch = db.batch_start();
versions.clear();
@ -250,7 +250,8 @@ bool HardFork::reorganize_from_block_height(uint64_t height)
add(db.get_block_from_height(h), h);
}
db.batch_stop();
if (stop_batch)
db.batch_stop();
return true;
}