Ava Chow 128b4a8038
Merge bitcoin/bitcoin#29403: wallet: batch erase procedures and improve 'EraseRecords' performance
77331aa2a198b708372a5c6cdf331faf7e2968ef wallet: simplify EraseRecords by using 'ErasePrefix' (furszy)
33757814ceb04102141d3fd5ef2f87abf0422310 wallet: bdb batch 'ErasePrefix', do not create txn internally (furszy)
cf4d72a75e9603e947b3d47e1f3ac7c7f37bb401 wallet: db, introduce 'RunWithinTxn()' helper function (furszy)

Pull request description:

  Seeks to optimize and simplify `WalletBatch::EraseRecords`. Currently, this process opens a cursor to iterate over the entire database, searching for records that match the type prefixes, to then call the `WalletBatch::Erase` function for each of the matching records.
  This PR rewrites this 40-line manual process into a single line; instead of performing all of those actions manually, we can simply utilize the `ErasePrefix()` functionality. The result is 06216b344dea6ad6c385fda0b37808ff9ae5273b.

  Moreover, it expands the test coverage for the `ErasePrefix` functionality and documents the db txn requirement for `BerkeleyBatch::ErasePrefix` .

ACKs for top commit:
  achow101:
    reACK 77331aa2a198b708372a5c6cdf331faf7e2968ef
  josibake:
    code review ACK 77331aa2a1

Tree-SHA512: 9f78dda658677ff19b5979ba0efd11cf9fabf3d315feb79ed1160526f010fe843c41903fc18c0b092f78aa88bc874cf24edad8fc1ea6e96aabdc4fd1daf21ca5
2024-02-13 13:08:30 -05:00
..
2024-02-01 13:52:05 +01:00
2024-01-05 11:22:31 +01:00
2023-12-11 18:22:13 +01:00
2023-10-12 11:27:19 +02:00
2024-01-05 17:16:38 +00:00
2024-02-01 13:52:05 +01:00
2023-11-21 13:15:44 +00:00
2023-12-11 18:22:13 +01:00
2023-11-16 11:36:22 +10:00
2023-06-16 10:38:19 +01:00
2023-09-13 11:37:45 +01:00
2023-11-30 11:28:19 +01:00
2023-11-28 12:42:07 +01:00
2023-06-16 10:38:19 +01:00
2023-07-19 18:12:42 +02:00
2023-11-30 11:27:54 +01:00
2024-01-05 17:16:38 +00:00
2024-02-01 13:52:05 +01:00
2023-11-16 11:36:22 +10:00
2024-01-05 17:16:38 +00:00