22class Transaction
final {
24 Transaction(Transaction&&)
noexcept =
default;
25 Transaction(
const Transaction&) =
delete;
26 Transaction& operator=(Transaction&&) =
delete;
27 Transaction& operator=(
const Transaction&) =
delete;
41 template <
typename... Args>
42 ExecuteResponse
Execute(
const Query& query, Args&&... args);
44 template <
typename... Args>
45 ExecuteResponse Execute(OperationSettings settings,
const Query& query, Args&&... args);
47 ExecuteResponse Execute(OperationSettings settings,
const Query& query, PreparedArgsBuilder&& builder);
49 ExecuteResponse Execute(
50 QuerySettings query_settings,
51 OperationSettings settings,
53 PreparedArgsBuilder&& builder
60 void Commit(OperationSettings settings = {});
66 PreparedArgsBuilder GetBuilder()
const;
71 TableClient& table_client,
72 NYdb::NTable::TTransaction ydb_tx,
74 OperationSettings&& rollback_settings
79 void MarkError()
noexcept;
82 void EnsureActive()
const;
84 TableClient& table_client_;
86 impl::StatsScope stats_scope_;
88 NYdb::NTable::TTransaction ydb_tx_;
89 OperationSettings rollback_settings_;
90 bool is_active_{
true};
95ExecuteResponse Transaction::
Execute(
const Query& query, Args&&... args) {
96 auto builder = GetBuilder();
97 builder.AddParams(std::forward<Args>(args)...);
98 return Execute(OperationSettings{}, query, std::move(builder));
102ExecuteResponse Transaction::Execute(OperationSettings settings,
const Query& query, Args&&... args) {