Optionally allow DB to know expected number of blocks at batch transaction start

This will assist in a DB resize check.
pull/95/head
warptangent 9 years ago
parent 2cd4d7dd20
commit 6e170c8b78
No known key found for this signature in database
GPG Key ID: 0E490BEBFBE4E92D

@ -1595,7 +1595,7 @@ bool BlockchainBDB::has_key_image(const crypto::key_image& img) const
// Ostensibly BerkeleyDB has batch transaction support built-in,
// so the following few functions will be NOP.
void BlockchainBDB::batch_start()
void BlockchainBDB::batch_start(uint64_t batch_num_blocks)
{
LOG_PRINT_L3("BlockchainBDB::" << __func__);
}

@ -191,7 +191,7 @@ public:
);
virtual void set_batch_transactions(bool batch_transactions);
virtual void batch_start();
virtual void batch_start(uint64_t batch_num_blocks=0);
virtual void batch_commit();
virtual void batch_stop();
virtual void batch_abort();

@ -357,7 +357,7 @@ public:
// release db lock
virtual void unlock() = 0;
virtual void batch_start() = 0;
virtual void batch_start(uint64_t batch_num_blocks=0) = 0;
virtual void batch_stop() = 0;
virtual void set_batch_transactions(bool) = 0;

@ -1820,7 +1820,7 @@ bool BlockchainLMDB::has_key_image(const crypto::key_image& img) const
return false;
}
void BlockchainLMDB::batch_start()
void BlockchainLMDB::batch_start(uint64_t batch_num_blocks)
{
LOG_PRINT_L3("BlockchainLMDB::" << __func__);
if (! m_batch_transactions)

@ -191,7 +191,7 @@ public:
);
virtual void set_batch_transactions(bool batch_transactions);
virtual void batch_start();
virtual void batch_start(uint64_t batch_num_blocks=0);
virtual void batch_commit();
virtual void batch_stop();
virtual void batch_abort();

@ -96,9 +96,9 @@ struct fake_core_lmdb
return m_storage.get_db().add_block(blk, block_size, cumulative_difficulty, coins_generated, txs);
}
void batch_start()
void batch_start(uint64_t batch_num_blocks = 0)
{
m_storage.get_db().batch_start();
m_storage.get_db().batch_start(batch_num_blocks);
}
void batch_stop()
@ -150,7 +150,7 @@ struct fake_core_memory
return 2;
}
void batch_start()
void batch_start(uint64_t batch_num_blocks = 0)
{
LOG_PRINT_L0("WARNING: [batch_start] opt_batch set, but this database doesn't support/need transactions - ignoring");
}

Loading…
Cancel
Save