Update db_bdb.cpp

- bugfix: prevent re-entering db->get when current buffer contains all possible index values.
release-v0.4.0.1
NoodleDoodleNoodleDoodleNoodleDoodleNoo 9 years ago committed by NoodleDoodleNoodleDoodleNoodleDoodleNoo
parent dbbc457836
commit 3381fd69a8

@ -1528,13 +1528,11 @@ void BlockchainBDB::get_output_tx_and_index(const uint64_t& amount,
{ {
cur->get(&k, &data, DB_MULTIPLE | (curcount == 0 ? DB_SET : DB_NEXT_DUP)); cur->get(&k, &data, DB_MULTIPLE | (curcount == 0 ? DB_SET : DB_NEXT_DUP));
blockstart = curcount; blockstart = curcount;
// skip counting if using single buffer, it actually adds some overhead on some systems.
if(!singlebuff) int count = 0;
{ // fixme! this might be slow on some systems.
int count = 0; DB_COUNT_RECORDS((DBT *) &data, count);
DB_COUNT_RECORDS((DBT *) &data, count); curcount += count;
curcount += count;
}
} }
catch (const std::exception &e) catch (const std::exception &e)
{ {

Loading…
Cancel
Save