12#include <ydb-cpp-sdk/client/table/query_stats/stats.h>
14#include <userver/yaml_config/fwd.hpp>
16USERVER_NAMESPACE_BEGIN
20enum class TransactionMode { kSerializableRW, kOnlineRO, kStaleRO, kSnapshotRO, kSnapshotRW, kImplicitTx };
23struct OperationSettings
final {
31 std::optional<TransactionMode>
tx_mode{std::nullopt};
41 std::string trace_id{};
46struct QuerySettings
final {
56struct RequestSettings
final {
61using ExecuteSettings = RequestSettings;
62using GetSessionSettings = RequestSettings;
63using CommitSettings = RequestSettings;
64using RollbackSettings = RequestSettings;
68struct RetryTxSettings
final {
70 std::optional<TransactionMode>
tx_mode{std::nullopt};
74 std::optional<std::chrono::milliseconds>
timeout_ms{std::nullopt};
94namespace formats::
parse {
96ydb::OperationSettings Parse(
const yaml_config::
YamlConfig& config, To<ydb::OperationSettings>);