diff options
author | Andrew Chow <achow101-github@achow101.com> | 2022-04-11 17:11:37 -0400 |
---|---|---|
committer | Andrew Chow <github@achow101.com> | 2023-06-01 13:09:08 -0400 |
commit | ba616b932cb9e9adb7eb9f1826caa62ce422a22d (patch) | |
tree | 032c9cf74574b1f29a39c79b76fc9495353188b9 /src/wallet/db.h | |
parent | 1d858b055daeea363e0450f327672658548be4c6 (diff) | |
download | bitcoin-ba616b932cb9e9adb7eb9f1826caa62ce422a22d.tar.xz |
wallet: Add GetPrefixCursor to DatabaseBatch
In order to get records beginning with a prefix, we will need a cursor
specifically for that prefix. So add a GetPrefixCursor function and
DatabaseCursor classes for dealing with those prefixes.
Tested on each supported db engine.
1) Write two different key->value elements to db.
2) Create a new prefix cursor and walk-through every returned element,
verifying that it gets parsed properly.
3) Try to move the cursor outside the filtered range: expect failure
and flag complete=true.
Co-Authored-By: Ryan Ofsky <ryan@ofsky.org>
Co-Authored-By: furszy <matiasfurszyfer@protonmail.com>
Diffstat (limited to 'src/wallet/db.h')
-rw-r--r-- | src/wallet/db.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/wallet/db.h b/src/wallet/db.h index b4ccd13a9a..9d684225c3 100644 --- a/src/wallet/db.h +++ b/src/wallet/db.h @@ -113,6 +113,7 @@ public: virtual bool ErasePrefix(Span<const std::byte> prefix) = 0; virtual std::unique_ptr<DatabaseCursor> GetNewCursor() = 0; + virtual std::unique_ptr<DatabaseCursor> GetNewPrefixCursor(Span<const std::byte> prefix) = 0; virtual bool TxnBegin() = 0; virtual bool TxnCommit() = 0; virtual bool TxnAbort() = 0; |