9#include <ydb-cpp-sdk/client/table/query_stats/stats.h>
11#include <userver/yaml_config/fwd.hpp>
13USERVER_NAMESPACE_BEGIN
17enum class TransactionMode { kSerializableRW, kOnlineRO, kStaleRO, kSnapshotRO, kSnapshotRW };
20struct OperationSettings
final {
28 std::optional<TransactionMode>
tx_mode{std::nullopt};
38 std::string trace_id{};
43struct QuerySettings
final {
53struct RequestSettings
final {
58using ExecuteSettings = RequestSettings;
59using GetSessionSettings = RequestSettings;
60using CommitSettings = RequestSettings;
61using RollbackSettings = RequestSettings;
65struct RetryTxSettings
final {
67 std::optional<TransactionMode>
tx_mode{std::nullopt};
71 std::optional<std::chrono::milliseconds>
timeout_ms{std::nullopt};
91namespace formats::
parse {
93ydb::OperationSettings Parse(
const yaml_config::
YamlConfig& config, To<ydb::OperationSettings>);