10 #ifndef _STRUS_DATABASE_TRANSACTION_INTERFACE_HPP_INCLUDED
11 #define _STRUS_DATABASE_TRANSACTION_INTERFACE_HPP_INCLUDED
17 class DatabaseCursorInterface;
19 class DatabaseOptions;
44 std::size_t valuesize)=0;
51 std::size_t keysize)=0;
57 const char* domainkey,
58 std::size_t domainkeysize)=0;
Interface to database cursor.
Definition: databaseCursorInterface.hpp:18
virtual DatabaseCursorInterface * createCursor(const DatabaseOptions &options) const =0
Get an interface for reading values in the context of this transaction.
virtual void removeSubTree(const char *domainkey, std::size_t domainkeysize)=0
Define a set of nodes defined by a key prefix to be deleted in the database as part of this transacti...
virtual void rollback()=0
Rollback of the transaction, no changes made.
virtual ~DatabaseTransactionInterface()
Destructor.
Definition: databaseTransactionInterface.hpp:27
virtual bool commit()=0
Executes all commands defined in the transaction or none if one operation fails.
virtual void write(const char *key, std::size_t keysize, const char *value, std::size_t valuesize)=0
Define a key/value pair to be written to the database as part of this transaction.
Interface for transactions for writing on the strus key value storage database.
Definition: databaseTransactionInterface.hpp:22
Structure for passing some options to the strus key value storage database.
Definition: databaseOptions.hpp:17