1#ifndef DITTO_TRANSACTION_H
2#define DITTO_TRANSACTION_H
4#include "QueryResult.hpp"
27 bool read_only =
false;
97void transaction_execute_cb(
98 void *env_ptr, dittoffi_result_dittoffi_query_result_ptr_t ffi_result);
121 friend void ditto::internal::transaction_execute_cb(
122 void *env_ptr, dittoffi_result_dittoffi_query_result_ptr_t ffi_result);
125 std::unique_ptr<Impl> impl;
127 explicit Transaction(Impl *impl);
133#ifdef DITTO_INTERNAL_TESTING
143 Transaction(
const Transaction &) =
delete;
144 Transaction &operator=(
const Transaction &) =
delete;
145 Transaction(Transaction &&) =
default;
146 Transaction &operator=(Transaction &&) =
default;
Represents the returned results when executing a DQL query, containing a QueryResultItem for each mat...
Definition QueryResult.hpp:121
Provides access to Collections and a transaction API.
Definition Store.hpp:65
TransactionInfo get_info() const
Provides information about the transaction.
QueryResult execute(std::string query, nlohmann::json query_args=nullptr)
Executes a DQL query and returns matching items as a query result.
Store & get_store() const
The Store this transaction belongs to.
~Transaction()
Destructor.
Options for configuring a transaction.
Definition Transaction.hpp:25
const std::string & get_hint() const
Get hint value.
TransactionOptions & set_hint(std::string hint)
Set a hint for the transaction, which is logged.
TransactionOptions()=default
Constructor sets read_only false and no hint
bool get_read_only() const
Get read_only value.
TransactionOptions & set_read_only(bool read_only)
Set a flag indicating whether the transaction is read-only.
Namespace for the Ditto C++ SDK types and functions.
Definition AbstractDocumentPath.hpp:19
TransactionCompletionAction
Represents an action that completes a transaction, by either committing it or rolling it back.
Definition Transaction.hpp:80
@ rollback
Represents the action of rolling back a transaction.
Definition Transaction.hpp:85
@ commit
Represents the action of committing a transaction.
Definition Transaction.hpp:82
Encapsulates information about a transaction.
Definition Transaction.hpp:56
std::string id
A globally unique ID of the transaction.
Definition Transaction.hpp:58
std::string hint
The user hint passed when creating the transaction, useful for debugging and testing.
Definition Transaction.hpp:62
bool is_read_only
Indicates whether mutating DQL statements can be executed in the transaction.
Definition Transaction.hpp:69