46 TxActor(
const TxActor&) =
delete;
48 TxActor(
TxActor&&)
noexcept =
delete;
62 template <
typename... Args>
63 ExecuteResponse
Execute(
const Query& query, Args&&... args);
65 template <
typename... Args>
66 ExecuteResponse Execute(ExecuteSettings settings,
const Query& query, Args&&... args);
68 ExecuteResponse Execute(ExecuteSettings settings,
const Query& query, PreparedArgsBuilder&& builder);
71 PreparedArgsBuilder GetBuilder()
const;
74 friend class TableClient;
77 TableClient& table_client,
78 NYdb::NQuery::TSession& session,
79 NYdb::NQuery::TTxSettings&& tx_settings,
80 engine::Deadline deadline,
84 NYdb::NQuery::TTransaction BeginTx(NYdb::NQuery::TSession& session, NYdb::NQuery::TTxSettings&& tx_settings);
87 void FinishTx(
const RequestSettings& settings);
89 TableClient& table_client_;
90 engine::Deadline deadline_;
91 std::uint32_t attempt_;
93 NYdb::NQuery::TTransaction ydb_tx_;
104ExecuteResponse
TxActor::Execute(ExecuteSettings settings,
const Query& query, Args&&... args) {
116class Transaction
final {
118 Transaction(Transaction&&)
noexcept =
default;
119 Transaction(
const Transaction&) =
delete;
120 Transaction& operator=(Transaction&&) =
delete;
121 Transaction& operator=(
const Transaction&) =
delete;
135 template <
typename... Args>
136 ExecuteResponse
Execute(
const Query& query, Args&&... args);
138 template <
typename... Args>
139 ExecuteResponse Execute(OperationSettings settings,
const Query& query, Args&&... args);
141 ExecuteResponse Execute(OperationSettings settings,
const Query& query, PreparedArgsBuilder&& builder);
143 ExecuteResponse Execute(
144 QuerySettings query_settings,
145 OperationSettings settings,
147 PreparedArgsBuilder&& builder
154 void Commit(OperationSettings settings = {});
160 PreparedArgsBuilder GetBuilder()
const;
165 TableClient& table_client,
166 std::variant<NYdb::NQuery::TTransaction, NYdb::NTable::TTransaction> ydb_tx,
168 OperationSettings&& rollback_settings
179 void MarkError()
noexcept;
182 void EnsureActive()
const;
184 TableClient& table_client_;
186 impl::StatsScope stats_scope_;
188 std::variant<NYdb::NQuery::TTransaction, NYdb::NTable::TTransaction> ydb_tx_;
189 OperationSettings rollback_settings_;
190 bool is_active_{
true};
195ExecuteResponse Transaction::
Execute(
const Query& query, Args&&... args) {
196 auto builder = GetBuilder();
197 builder.AddParams(std::forward<Args>(args)...);
198 return Execute(OperationSettings{}, query, std::move(builder));
202ExecuteResponse Transaction::Execute(OperationSettings settings,
const Query& query, Args&&... args) {