20#include "ignite/common/detail/config.h"
21#include "ignite/common/ignite_result.h"
28class transaction_impl;
29class transactions_impl;
36 friend class detail::sql_impl;
37 friend class detail::table_impl;
38 friend class detail::transactions_impl;
42 transaction() =
default;
48 return sync<void>([
this](
const auto& callback) {
commit_async(std::move(callback)); });
56 IGNITE_API
void commit_async(
const ignite_callback<void> &callback);
62 sync<void>([
this](
const auto& callback) {
rollback_async(std::move(callback)); });
70 IGNITE_API
void rollback_async(
const ignite_callback<void> &callback);
78 explicit transaction(std::shared_ptr<detail::transaction_impl> impl)
79 : m_impl(std::move(impl)) {}
82 std::shared_ptr<detail::transaction_impl> m_impl;
Definition transaction.h:35
IGNITE_API void rollback_async(const ignite_callback< void > &callback)
Definition transaction.cpp:27
IGNITE_API void rollback()
Definition transaction.h:61
IGNITE_API void commit()
Definition transaction.h:47
IGNITE_API void commit_async(const ignite_callback< void > &callback)
Definition transaction.cpp:23