diff --git a/cmake/SetupYdbCppSDK.cmake b/cmake/SetupYdbCppSDK.cmake index 17b86d4d884c..4aa7edb9f5f9 100644 --- a/cmake/SetupYdbCppSDK.cmake +++ b/cmake/SetupYdbCppSDK.cmake @@ -33,7 +33,7 @@ endif() cpmaddpackage( NAME ydb-cpp-sdk - GIT_TAG v3.5.1 + GIT_TAG v3.12.0 GITHUB_REPOSITORY ydb-platform/ydb-cpp-sdk GIT_SHALLOW TRUE OPTIONS "Brotli_VERSION ${Brotli_VERSION}" "RAPIDJSON_INCLUDE_DIRS ${RAPIDJSON_INCLUDE_DIRS}" diff --git a/ydb/CMakeLists.txt b/ydb/CMakeLists.txt index 818f7e488ce6..70dc3748c794 100644 --- a/ydb/CMakeLists.txt +++ b/ydb/CMakeLists.txt @@ -7,6 +7,7 @@ set(YDB_LIBRARIES YDB-CPP-SDK::Coordination YDB-CPP-SDK::Driver YDB-CPP-SDK::Operation + YDB-CPP-SDK::Query YDB-CPP-SDK::Result YDB-CPP-SDK::Scheme YDB-CPP-SDK::SolomonStats diff --git a/ydb/functional_tests/basic/tests-metrics/static/metrics_values.txt b/ydb/functional_tests/basic/tests-metrics/static/metrics_values.txt index efd77d24804b..94702193d94e 100644 --- a/ydb/functional_tests/basic/tests-metrics/static/metrics_values.txt +++ b/ydb/functional_tests/basic/tests-metrics/static/metrics_values.txt @@ -20,7 +20,7 @@ ydb.by-query.success: ydb_database=sampledb, ydb_query=UNNAMED RATE 1 ydb.by-query.success: ydb_database=sampledb, ydb_query=upsert-row RATE 3 ydb.by-query.timings: ydb_database=sampledb, ydb_query=Begin HIST_RATE [5]=3,[10]=0,[20]=0,[35]=0,[60]=0,[100]=0,[173]=0,[300]=0,[520]=0,[1000]=0,[3200]=0,[10000]=0,[32000]=0,[100000]=0,[inf]=0 ydb.by-query.timings: ydb_database=sampledb, ydb_query=Commit HIST_RATE [5]=3,[10]=0,[20]=0,[35]=0,[60]=0,[100]=0,[173]=0,[300]=0,[520]=0,[1000]=0,[3200]=0,[10000]=0,[32000]=0,[100000]=0,[inf]=0 -ydb.by-query.timings: ydb_database=sampledb, ydb_query=UNNAMED HIST_RATE [5]=0,[10]=0,[20]=0,[35]=1,[60]=0,[100]=0,[173]=0,[300]=0,[520]=0,[1000]=0,[3200]=0,[10000]=0,[32000]=0,[100000]=0,[inf]=0 +ydb.by-query.timings: ydb_database=sampledb, ydb_query=UNNAMED HIST_RATE [5]=0,[10]=0,[20]=0,[35]=0,[60]=0,[100]=1,[173]=0,[300]=0,[520]=0,[1000]=0,[3200]=0,[10000]=0,[32000]=0,[100000]=0,[inf]=0 ydb.by-query.timings: ydb_database=sampledb, ydb_query=upsert-row HIST_RATE [5]=3,[10]=0,[20]=0,[35]=0,[60]=0,[100]=0,[173]=0,[300]=0,[520]=0,[1000]=0,[3200]=0,[10000]=0,[32000]=0,[100000]=0,[inf]=0 ydb.by-query.total: ydb_database=sampledb, ydb_query=Begin RATE 3 ydb.by-query.total: ydb_database=sampledb, ydb_query=Commit RATE 3 @@ -45,42 +45,41 @@ ydb.native.Endpoints/Total: database=/local, ydb_database=sampledb GAUGE 0 ydb.native.Grpc/InFlight: database=/local, ydb_database=sampledb GAUGE 0 ydb.native.Grpc/InFlightByYdbHost: YdbHost=(REDACTED), database=/local, ydb_database=sampledb GAUGE 0 ydb.native.Grpc/InFlightByYdbHost: YdbHost=(REDACTED), database=/local, ydb_database=sampledb GAUGE 0 -ydb.native.Request/ClientQueryCacheMiss: database=/local, ydb_client=Table, ydb_database=sampledb RATE 4 +ydb.native.Request/ClientQueryCacheMiss: database=/local, ydb_client=Table, ydb_database=sampledb RATE 0 ydb.native.Request/FailedDiscoveryQueueOverflow: database=/local, ydb_database=sampledb RATE 0 ydb.native.Request/FailedNoEndpoint: database=/local, ydb_database=sampledb RATE 0 -ydb.native.Request/FailedTransportError: database=/local, ydb_database=sampledb RATE 0 -ydb.native.Request/Latency: database=/local, ydb_database=sampledb HIST_RATE [1]=0,[2]=0,[4]=4,[8]=4,[16]=2,[32]=1,[64]=1,[128]=0,[256]=0,[512]=0,[1024]=0,[2048]=0,[4096]=0,[8192]=0,[16384]=0,[32768]=0,[65536]=0,[131072]=0,[262144]=0,[inf]=0 -ydb.native.Request/ParamsSize: database=/local, ydb_client=Query, ydb_database=sampledb HIST_RATE [32]=0,[64]=0,[128]=0,[256]=0,[512]=0,[1024]=0,[2048]=0,[4096]=0,[8192]=0,[inf]=0 -ydb.native.Request/ParamsSize: database=/local, ydb_client=Table, ydb_database=sampledb HIST_RATE [32]=3,[64]=0,[128]=0,[256]=0,[512]=0,[1024]=0,[2048]=0,[4096]=0,[8192]=0,[inf]=0 -ydb.native.Request/QuerySize: database=/local, ydb_client=Query, ydb_database=sampledb HIST_RATE [32]=0,[64]=0,[128]=0,[256]=0,[512]=0,[1024]=0,[2048]=0,[4096]=0,[8192]=0,[16384]=0,[32768]=0,[65536]=0,[131072]=0,[262144]=0,[524288]=0,[1048576]=0,[2097152]=0,[4194304]=0,[8388608]=0,[inf]=0 -ydb.native.Request/QuerySize: database=/local, ydb_client=Table, ydb_database=sampledb HIST_RATE [32]=1,[64]=0,[128]=0,[256]=0,[512]=3,[1024]=0,[2048]=0,[4096]=0,[8192]=0,[16384]=0,[32768]=0,[65536]=0,[131072]=0,[262144]=0,[524288]=0,[1048576]=0,[2097152]=0,[4194304]=0,[8388608]=0,[inf]=0 -ydb.native.Request/ResultSize: database=/local, ydb_database=sampledb HIST_RATE [32]=1,[64]=0,[128]=6,[256]=2,[512]=3,[1024]=0,[2048]=0,[4096]=0,[8192]=0,[16384]=0,[32768]=0,[65536]=0,[131072]=0,[262144]=0,[524288]=0,[1048576]=0,[2097152]=0,[4194304]=0,[8388608]=0,[inf]=0 +ydb.native.Request/FailedTransportError: database=/local, ydb_database=sampledb RATE 1 +ydb.native.Request/Latency: database=/local, ydb_database=sampledb HIST_RATE [1]=0,[2]=0,[4]=0,[8]=0,[16]=2,[32]=5,[64]=2,[128]=0,[256]=0,[512]=0,[1024]=0,[2048]=0,[4096]=0,[8192]=0,[16384]=0,[32768]=0,[65536]=0,[131072]=0,[262144]=0,[inf]=0 +ydb.native.Request/ParamsSize: database=/local, ydb_client=Query, ydb_database=sampledb HIST_RATE [32]=1,[64]=0,[128]=3,[256]=0,[512]=0,[1024]=0,[2048]=0,[4096]=0,[8192]=0,[inf]=0 +ydb.native.Request/ParamsSize: database=/local, ydb_client=Table, ydb_database=sampledb HIST_RATE [32]=0,[64]=0,[128]=0,[256]=0,[512]=0,[1024]=0,[2048]=0,[4096]=0,[8192]=0,[inf]=0 +ydb.native.Request/QuerySize: database=/local, ydb_client=Query, ydb_database=sampledb HIST_RATE [32]=1,[64]=0,[128]=0,[256]=0,[512]=3,[1024]=0,[2048]=0,[4096]=0,[8192]=0,[16384]=0,[32768]=0,[65536]=0,[131072]=0,[262144]=0,[524288]=0,[1048576]=0,[2097152]=0,[4194304]=0,[8388608]=0,[inf]=0 +ydb.native.Request/QuerySize: database=/local, ydb_client=Table, ydb_database=sampledb HIST_RATE [32]=0,[64]=0,[128]=0,[256]=0,[512]=0,[1024]=0,[2048]=0,[4096]=0,[8192]=0,[16384]=0,[32768]=0,[65536]=0,[131072]=0,[262144]=0,[524288]=0,[1048576]=0,[2097152]=0,[4194304]=0,[8388608]=0,[inf]=0 +ydb.native.Request/ResultSize: database=/local, ydb_database=sampledb HIST_RATE [32]=5,[64]=3,[128]=1,[256]=0,[512]=0,[1024]=0,[2048]=0,[4096]=0,[8192]=0,[16384]=0,[32768]=0,[65536]=0,[131072]=0,[262144]=0,[524288]=0,[1048576]=0,[2097152]=0,[4194304]=0,[8388608]=0,[inf]=0 ydb.native.SessionBalancer/RequestsMigrated: database=/local, ydb_client=Table, ydb_database=sampledb RATE 0 ydb.native.SessionBalancer/SessionsRemoved: database=/local, ydb_client=Table, ydb_database=sampledb RATE 0 ydb.native.SessionBalancer/Variation: database=/local, ydb_database=sampledb GAUGE 0 -ydb.native.Sessions/InPool: database=/local, ydb_client=Query, ydb_database=sampledb GAUGE 0 -ydb.native.Sessions/InPool: database=/local, ydb_client=Table, ydb_database=sampledb GAUGE 1 +ydb.native.Sessions/InPool: database=/local, ydb_client=Query, ydb_database=sampledb GAUGE 1 +ydb.native.Sessions/InPool: database=/local, ydb_client=Table, ydb_database=sampledb GAUGE 0 ydb.native.Sessions/InUse: database=/local, ydb_client=Query, ydb_database=sampledb GAUGE 0 ydb.native.Sessions/InUse: database=/local, ydb_client=Table, ydb_database=sampledb GAUGE 0 ydb.native.Sessions/SessionsLimitExceeded: database=/local, ydb_client=Query, ydb_database=sampledb RATE 0 ydb.native.Sessions/SessionsLimitExceeded: database=/local, ydb_client=Table, ydb_database=sampledb RATE 0 ydb.native.Sessions/WaitForReturn: database=/local, ydb_client=Query, ydb_database=sampledb GAUGE 0 ydb.native.Sessions/WaitForReturn: database=/local, ydb_client=Table, ydb_database=sampledb GAUGE 0 -ydb.native.SessionsByYdbHost: YdbHost=(REDACTED), database=/local, ydb_database=sampledb GAUGE 1 -ydb.native.TransportErrorsByYdbHost: YdbHost=(REDACTED), database=/local, ydb_database=sampledb RATE 0 -ydb.retry_budget.account_fail: ydb_database=sampledb RATE 0 -ydb.retry_budget.account_ok: ydb_database=sampledb RATE 14 -ydb.retry_budget.approx_token_count: ydb_database=sampledb GAUGE 100 -ydb.retry_budget.max_token_count: ydb_database=sampledb GAUGE 100 +ydb.native.TransportErrorsByYdbHost: YdbHost=(REDACTED), database=/local, ydb_database=sampledb RATE 1 ydb.pool.active-sessions: ydb_database=sampledb GAUGE 0 ydb.pool.current-size: ydb_database=sampledb GAUGE 1 ydb.pool.max-size: ydb_database=sampledb GAUGE 10 ydb.queries-total.cancelled: ydb_database=sampledb RATE 0 ydb.queries-total.error: ydb_database=sampledb RATE 0 ydb.queries-total.success: ydb_database=sampledb RATE 10 -ydb.queries-total.timings: ydb_database=sampledb HIST_RATE [1]=9,[2]=0,[3]=0,[5]=0,[7]=0,[10]=0,[13]=0,[16]=0,[20]=0,[24]=0,[29]=1,[35]=0,[42]=0,[50]=0,[60]=0,[71]=0,[84]=0,[100]=0,[120]=0,[144]=0,[173]=0,[208]=0,[250]=0,[300]=0,[360]=0,[430]=0,[520]=0,[620]=0,[730]=0,[850]=0,[1000]=0,[1800]=0,[3200]=0,[5600]=0,[10000]=0,[18000]=0,[32000]=0,[56000]=0,[100000]=0,[inf]=0 +ydb.queries-total.timings: ydb_database=sampledb HIST_RATE [1]=9,[2]=0,[3]=0,[5]=0,[7]=0,[10]=0,[13]=0,[16]=0,[20]=0,[24]=0,[29]=0,[35]=0,[42]=0,[50]=0,[60]=0,[71]=0,[84]=1,[100]=0,[120]=0,[144]=0,[173]=0,[208]=0,[250]=0,[300]=0,[360]=0,[430]=0,[520]=0,[620]=0,[730]=0,[850]=0,[1000]=0,[1800]=0,[3200]=0,[5600]=0,[10000]=0,[18000]=0,[32000]=0,[56000]=0,[100000]=0,[inf]=0 ydb.queries-total.total: ydb_database=sampledb RATE 10 ydb.queries-total.transport-error: ydb_database=sampledb RATE 0 +ydb.retry_budget.account_fail: ydb_database=sampledb RATE 0 +ydb.retry_budget.account_ok: ydb_database=sampledb RATE 10 +ydb.retry_budget.approx_token_count: ydb_database=sampledb GAUGE 100 +ydb.retry_budget.max_token_count: ydb_database=sampledb GAUGE 100 ydb.transactions-total.cancelled: ydb_database=sampledb RATE 0 ydb.transactions-total.error: ydb_database=sampledb RATE 0 ydb.transactions-total.success: ydb_database=sampledb RATE 3 diff --git a/ydb/include/userver/ydb/builder.hpp b/ydb/include/userver/ydb/builder.hpp index aa57219e2050..6c49da3029f1 100644 --- a/ydb/include/userver/ydb/builder.hpp +++ b/ydb/include/userver/ydb/builder.hpp @@ -18,6 +18,8 @@ class Transaction; class PreparedArgsBuilder final { public: + PreparedArgsBuilder() = default; + PreparedArgsBuilder(PreparedArgsBuilder&&) noexcept = default; PreparedArgsBuilder& operator=(PreparedArgsBuilder&&) = delete; @@ -27,11 +29,6 @@ class PreparedArgsBuilder final { void Add(const std::string& name, T&& value); /// @cond - // For internal use only. - explicit PreparedArgsBuilder(NYdb::TParamsBuilder&& builder) - : builder_(std::move(builder)) - {} - // For internal use only. template void AddParams(NamesValues&&... names_values); diff --git a/ydb/include/userver/ydb/table.hpp b/ydb/include/userver/ydb/table.hpp index fd31dc014612..10ff5eff7fd5 100644 --- a/ydb/include/userver/ydb/table.hpp +++ b/ydb/include/userver/ydb/table.hpp @@ -235,8 +235,6 @@ class TableClient final { void Select1(); - NYdb::NTable::TExecDataQuerySettings ToExecQuerySettings(QuerySettings query_settings) const; - template PreparedArgsBuilder MakeBuilder(Args&&... args); diff --git a/ydb/include/userver/ydb/transaction.hpp b/ydb/include/userver/ydb/transaction.hpp index bdf103f924bc..7d28fe3d5750 100644 --- a/ydb/include/userver/ydb/transaction.hpp +++ b/ydb/include/userver/ydb/transaction.hpp @@ -2,6 +2,8 @@ #include +#include + #include #include @@ -69,7 +71,7 @@ class Transaction final { // For internal use only. Transaction( TableClient& table_client, - NYdb::NTable::TTransaction ydb_tx, + NYdb::NQuery::TTransaction ydb_tx, std::string name, OperationSettings&& rollback_settings ) noexcept; @@ -85,7 +87,7 @@ class Transaction final { std::string name_; impl::StatsScope stats_scope_; tracing::Span span_; - NYdb::NTable::TTransaction ydb_tx_; + NYdb::NQuery::TTransaction ydb_tx_; OperationSettings rollback_settings_; bool is_active_{true}; utils::trx_tracker::TransactionLock trx_lock_; diff --git a/ydb/src/ydb/impl/operation_settings.cpp b/ydb/src/ydb/impl/operation_settings.cpp index 5a2214910731..a0451df9c3f4 100644 --- a/ydb/src/ydb/impl/operation_settings.cpp +++ b/ydb/src/ydb/impl/operation_settings.cpp @@ -19,6 +19,19 @@ std::chrono::milliseconds DeadlineToTimeout(engine::Deadline deadline) { return timeout; } +NYdb::NQuery::EStatsMode ConvertStatsMode(NYdb::NTable::ECollectQueryStatsMode collect_query_stats_mode) { + switch (collect_query_stats_mode) { + case NYdb::NTable::ECollectQueryStatsMode::None: + return NYdb::NQuery::EStatsMode::None; + case NYdb::NTable::ECollectQueryStatsMode::Basic: + return NYdb::NQuery::EStatsMode::Basic; + case NYdb::NTable::ECollectQueryStatsMode::Full: + return NYdb::NQuery::EStatsMode::Full; + case NYdb::NTable::ECollectQueryStatsMode::Profile: + return NYdb::NQuery::EStatsMode::Profile; + } +} + } // namespace std::chrono::milliseconds GetBoundTimeout(std::chrono::milliseconds timeout, engine::Deadline deadline) { @@ -26,6 +39,18 @@ std::chrono::milliseconds GetBoundTimeout(std::chrono::milliseconds timeout, eng return (std::chrono::milliseconds::zero() < timeout) ? std::min(timeout, max_timeout) : max_timeout; } +NYdb::NQuery::TExecuteQuerySettings ToExecuteQuerySettings(const QuerySettings& query_settings) { + NYdb::NQuery::TExecuteQuerySettings execute_query_settings; + + // Query Client doesn't have KeepInQueryCache, it caches automatically + + if (query_settings.collect_query_stats.has_value()) { + execute_query_settings.StatsMode(ConvertStatsMode(*query_settings.collect_query_stats)); + } + + return execute_query_settings; +} + } // namespace ydb::impl USERVER_NAMESPACE_END diff --git a/ydb/src/ydb/impl/operation_settings.hpp b/ydb/src/ydb/impl/operation_settings.hpp index d3cd625cb627..86ef06d82543 100644 --- a/ydb/src/ydb/impl/operation_settings.hpp +++ b/ydb/src/ydb/impl/operation_settings.hpp @@ -2,7 +2,9 @@ #include +#include #include +#include #include #include @@ -16,6 +18,8 @@ namespace ydb::impl { std::chrono::milliseconds GetBoundTimeout(std::chrono::milliseconds timeout, engine::Deadline deadline); +NYdb::NQuery::TExecuteQuerySettings ToExecuteQuerySettings(const QuerySettings& query_settings); + template void ApplyToRequestSettings( NYdb::TRequestSettings& result, diff --git a/ydb/src/ydb/table.cpp b/ydb/src/ydb/table.cpp index 6c687868c7bd..d329f97df5ce 100644 --- a/ydb/src/ydb/table.cpp +++ b/ydb/src/ydb/table.cpp @@ -16,33 +16,17 @@ USERVER_NAMESPACE_BEGIN namespace ydb { -namespace { -NYdb::NTable::TTxSettings PrepareTxSettings(const OperationSettings& settings) { - switch (settings.tx_mode.value()) { - case TransactionMode::kSerializableRW: { - return NYdb::NTable::TTxSettings::SerializableRW(); - } - case TransactionMode::kOnlineRO: { - return NYdb::NTable::TTxSettings::OnlineRO(); - } - case TransactionMode::kStaleRO: { - return NYdb::NTable::TTxSettings::StaleRO(); - } - } -} +namespace { -NYdb::NQuery::TTxSettings PrepareQueryTxSettings(const OperationSettings& settings) { - switch (settings.tx_mode.value()) { - case TransactionMode::kSerializableRW: { +NYdb::NQuery::TTxSettings MakeTxSettings(TransactionMode tx_mode) { + switch (tx_mode) { + case TransactionMode::kSerializableRW: return NYdb::NQuery::TTxSettings::SerializableRW(); - } - case TransactionMode::kOnlineRO: { + case TransactionMode::kOnlineRO: return NYdb::NQuery::TTxSettings::OnlineRO(); - } - case TransactionMode::kStaleRO: { + case TransactionMode::kStaleRO: return NYdb::NQuery::TTxSettings::StaleRO(); - } } } @@ -323,14 +307,14 @@ Transaction TableClient::Begin(utils::StringLiteral transaction_name, OperationS Transaction TableClient::Begin(DynamicTransactionName transaction_name, OperationSettings settings) { const Query query{"", Query::Name{"Begin"}}; impl::RequestContext context{*this, query, std::move(settings)}; - auto tx_settings = PrepareTxSettings(context.settings); + auto tx_settings = MakeTxSettings(context.settings.tx_mode.value()); - auto future = impl::RetryOperation( + auto future = impl::RetryQuery( context, [tx_settings = std::move(tx_settings), settings = context.settings, - deadline = context.deadline](NYdb::NTable::TSession session) { - const auto exec_settings = impl::PrepareRequestSettings(settings, deadline); + deadline = context.deadline](NYdb::NQuery::TSession session) { + const auto exec_settings = impl::PrepareRequestSettings(settings, deadline); return session.BeginTransaction(tx_settings, exec_settings); } ); @@ -372,17 +356,17 @@ ExecuteResponse TableClient::ExecuteDataQuery( ) { impl::RequestContext context{*this, query, std::move(settings)}; - auto future = impl::RetryOperation( + auto future = impl::RetryQuery( context, [query, params = std::move(builder).Build(), - exec_settings = ToExecQuerySettings(query_settings), + exec_settings = impl::ToExecuteQuerySettings(query_settings), settings = context.settings, - deadline = context.deadline](NYdb::NTable::TSession session) mutable { + deadline = context.deadline](NYdb::NQuery::TSession session) mutable { impl::ApplyToRequestSettings(exec_settings, settings, deadline); - const auto tx_settings = PrepareTxSettings(settings); - const auto tx = NYdb::NTable::TTxControl::BeginTx(tx_settings).CommitTx(); - return session.ExecuteDataQuery(impl::ToString(query.GetStatementView()), tx, params, exec_settings); + const auto tx_settings = MakeTxSettings(settings.tx_mode.value()); + const auto tx = NYdb::NQuery::TTxControl::BeginTx(tx_settings).CommitTx(); + return session.ExecuteQuery(impl::ToString(query.GetStatementView()), tx, params, exec_settings); } ); @@ -420,7 +404,7 @@ ExecuteResponse TableClient::ExecuteQuery( settings = context.settings, deadline = context.deadline](NYdb::NQuery::TSession session) mutable { impl::ApplyToRequestSettings(exec_settings, settings, deadline); - const auto tx_settings = PrepareQueryTxSettings(settings); + const auto tx_settings = MakeTxSettings(settings.tx_mode.value()); const auto tx = NYdb::NQuery::TTxControl::BeginTx(tx_settings).CommitTx(); return session.ExecuteQuery(impl::ToString(query.GetStatementView()), tx, params, exec_settings); } @@ -446,16 +430,8 @@ void DumpMetric(utils::statistics::Writer& writer, const TableClient& table_clie ); } -PreparedArgsBuilder TableClient::GetBuilder() const { return PreparedArgsBuilder(table_client_->GetParamsBuilder()); } +PreparedArgsBuilder TableClient::GetBuilder() const { return PreparedArgsBuilder{}; } -NYdb::NTable::TExecDataQuerySettings TableClient::ToExecQuerySettings(QuerySettings query_settings) const { - NYdb::NTable::TExecDataQuerySettings exec_settings; - exec_settings.KeepInQueryCache(query_settings.keep_in_query_cache.value_or(keep_in_query_cache_)); - if (query_settings.collect_query_stats) { - exec_settings.CollectQueryStats(*query_settings.collect_query_stats); - } - return exec_settings; -} } // namespace ydb USERVER_NAMESPACE_END diff --git a/ydb/src/ydb/transaction.cpp b/ydb/src/ydb/transaction.cpp index 05278d62f89d..5b248d626c65 100644 --- a/ydb/src/ydb/transaction.cpp +++ b/ydb/src/ydb/transaction.cpp @@ -20,7 +20,7 @@ namespace ydb { Transaction::Transaction( TableClient& table_client, - NYdb::NTable::TTransaction ydb_tx, + NYdb::NQuery::TTransaction ydb_tx, std::string name, OperationSettings&& rollback_settings ) noexcept @@ -87,7 +87,7 @@ void Transaction::Commit(OperationSettings settings) { } const auto commit_settings = impl::PrepareRequestSettings< - NYdb::NTable::TCommitTxSettings>(context.settings, context.deadline); + NYdb::NQuery::TCommitTxSettings>(context.settings, context.deadline); auto error_guard = ErrorGuard(); @@ -111,7 +111,7 @@ void Transaction::Rollback() { impl::RequestContext context{table_client_, kQuery, std::move(settings), impl::IsStreaming{false}, &span_}; const auto rollback_settings = impl::PrepareRequestSettings< - NYdb::NTable::TRollbackTxSettings>(context.settings, context.deadline); + NYdb::NQuery::TRollbackTxSettings>(context.settings, context.deadline); [[maybe_unused]] auto error_guard = ErrorGuard(); @@ -127,9 +127,7 @@ void Transaction::Rollback() { // Successful rollback is still a transaction error for logs and stats. } -PreparedArgsBuilder Transaction::GetBuilder() const { - return PreparedArgsBuilder(ydb_tx_.GetSession().GetParamsBuilder()); -} +PreparedArgsBuilder Transaction::GetBuilder() const { return PreparedArgsBuilder{}; } void Transaction::EnsureActive() const { if (!is_active_) { @@ -152,16 +150,16 @@ ExecuteResponse Transaction::Execute( impl::RequestContext context{table_client_, query, std::move(settings), impl::IsStreaming{false}, &span_}; auto internal_params = std::move(builder).Build(); - auto exec_settings = table_client_.ToExecQuerySettings(query_settings); + auto exec_settings = impl::ToExecuteQuerySettings(query_settings); impl::ApplyToRequestSettings(exec_settings, context.settings, context.deadline); // Must go after PrepareExecuteSettings, because an exception from there // leaves the transaction active. auto error_guard = ErrorGuard(); - auto execute_fut = ydb_tx_.GetSession().ExecuteDataQuery( + auto execute_fut = ydb_tx_.GetSession().ExecuteQuery( impl::ToString(query.GetStatementView()), - NYdb::NTable::TTxControl::Tx(ydb_tx_), + NYdb::NQuery::TTxControl::Tx(ydb_tx_), std::move(internal_params), exec_settings );