25class Transaction
final {
27 Transaction(Transaction&&)
noexcept =
default;
28 Transaction(
const Transaction&) =
delete;
29 Transaction& operator=(Transaction&&) =
delete;
30 Transaction& operator=(
const Transaction&) =
delete;
44 template <
typename... Args>
45 ExecuteResponse
Execute(
const Query& query, Args&&... args);
47 template <
typename... Args>
48 ExecuteResponse Execute(OperationSettings settings,
const Query& query, Args&&... args);
50 ExecuteResponse Execute(OperationSettings settings,
const Query& query, PreparedArgsBuilder&& builder);
52 ExecuteResponse Execute(
53 QuerySettings query_settings,
54 OperationSettings settings,
56 PreparedArgsBuilder&& builder
63 void Commit(OperationSettings settings = {});
69 PreparedArgsBuilder GetBuilder()
const;
74 TableClient& table_client,
75 std::variant<NYdb::NQuery::TTransaction, NYdb::NTable::TTransaction> ydb_tx,
77 OperationSettings&& rollback_settings
82 void MarkError()
noexcept;
85 void EnsureActive()
const;
87 TableClient& table_client_;
89 impl::StatsScope stats_scope_;
91 std::variant<NYdb::NQuery::TTransaction, NYdb::NTable::TTransaction> ydb_tx_;
92 OperationSettings rollback_settings_;
93 bool is_active_{
true};
98ExecuteResponse Transaction::
Execute(
const Query& query, Args&&... args) {
99 auto builder = GetBuilder();
100 builder.AddParams(std::forward<Args>(args)...);
101 return Execute(OperationSettings{}, query, std::move(builder));
105ExecuteResponse Transaction::Execute(OperationSettings settings,
const Query& query, Args&&... args) {