11#include <unordered_map>
13#include <userver/congestion_control/controllers/linear.hpp>
14#include <userver/storages/postgres/postgres_fwd.hpp>
15#include <userver/utils/impl/transparent_hash.hpp>
16#include <userver/utils/str_icase.hpp>
17#include <userver/utils/string_literal.hpp>
19USERVER_NAMESPACE_BEGIN
64 Mode mode = kReadWrite;
66 constexpr TransactionOptions() =
default;
69 constexpr explicit TransactionOptions(
Mode m) : mode{m} {}
71 bool IsReadOnly()
const {
return mode & kReadOnly; }
115 constexpr CommandControl(TimeoutDuration network_timeout_ms, TimeoutDuration statement_timeout_ms)
126 bool operator!=(
const CommandControl& rhs)
const {
return !(*
this == rhs); }
132using CommandControlByMethodMap = USERVER_NAMESPACE::
utils::impl::TransparentMap<std::string,
CommandControl>;
133using CommandControlByHandlerMap =
134 USERVER_NAMESPACE::
utils::impl::TransparentMap<std::string, CommandControlByMethodMap>;
135using CommandControlByQueryMap = std::unordered_map<std::string,
CommandControl>;
137OptionalCommandControl
138GetHandlerOptionalCommandControl(
const CommandControlByHandlerMap& map, std::string_view path, std::string_view method);
140OptionalCommandControl
141GetQueryOptionalCommandControl(
const CommandControlByQueryMap& map,
const std::string& query_name);
210 enum PreparedStatementOptions {
211 kCachePreparedStatements,
212 kNoPreparedStatements,
214 enum UserTypesOptions {
217 kPredefinedTypesOnly,
219 enum CheckQueryParamsOptions {
223 enum DiscardOnConnectOptions {
227 using SettingsVersion = std::size_t;
251 std::optional<std::chrono::seconds>
max_ttl{};
256 bool deadline_propagation_enabled =
true;
280struct StatementMetricsSettings
final {
280struct StatementMetricsSettings
final {
…};
293enum class ConnlimitMode {