mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-22 12:23:34 -05:00
![]() Transactions are intended to be started on upper layers rather than internally by the bdb batch object. This enables us to consolidate different write operations within a procedure in the same db txn, improving consistency due to the atomic property of the transaction, as well as its performance due to the reduction of disk write operations. Important Note: This approach also ensures that the BerkeleyBatch::ErasePrefix function behaves exactly as the SQLiteBatch::ErasePrefix function, which does not create a db txn internally. Furthermore, since the `BerkeleyBatch::ErasePrefix' implementation erases records one by one (by traversing the db), this change ensures that the function is always called within an active txn context. Without this measure, there's a potential risk to consistency; certain records may be removed while others could persist due to an internal failure during the procedure. |
||
---|---|---|
.. | ||
fuzz | ||
coinselector_tests.cpp | ||
db_tests.cpp | ||
feebumper_tests.cpp | ||
group_outputs_tests.cpp | ||
init_test_fixture.cpp | ||
init_test_fixture.h | ||
init_tests.cpp | ||
ismine_tests.cpp | ||
psbt_wallet_tests.cpp | ||
rpc_util_tests.cpp | ||
scriptpubkeyman_tests.cpp | ||
spend_tests.cpp | ||
util.cpp | ||
util.h | ||
wallet_crypto_tests.cpp | ||
wallet_test_fixture.cpp | ||
wallet_test_fixture.h | ||
wallet_tests.cpp | ||
wallet_transaction_tests.cpp | ||
walletdb_tests.cpp | ||
walletload_tests.cpp |