wallet: Add DatabaseBatch::ErasePrefix method

This new function is not used yet this commit, but next commit adds usages and
test coverage for both BDB and sqlite.
This commit is contained in:
Ryan Ofsky
2020-04-12 13:40:43 -04:00
parent cae0608ad4
commit 5938ad0bdb
6 changed files with 51 additions and 9 deletions

View File

@@ -36,13 +36,16 @@ private:
sqlite3_stmt* m_insert_stmt{nullptr};
sqlite3_stmt* m_overwrite_stmt{nullptr};
sqlite3_stmt* m_delete_stmt{nullptr};
sqlite3_stmt* m_delete_prefix_stmt{nullptr};
void SetupSQLStatements();
bool ExecStatement(sqlite3_stmt* stmt, Span<const std::byte> blob);
bool ReadKey(DataStream&& key, DataStream& value) override;
bool WriteKey(DataStream&& key, DataStream&& value, bool overwrite = true) override;
bool EraseKey(DataStream&& key) override;
bool HasKey(DataStream&& key) override;
bool ErasePrefix(Span<const std::byte> prefix) override;
public:
explicit SQLiteBatch(SQLiteDatabase& database);