111 engine::TaskProcessor& bg_task_processor,
113 DefaultCommandControls&& default_cmd_ctls,
116 testsuite::TestsuiteTasks& testsuite_tasks,
117 dynamic_config::Source config_source,
118 USERVER_NAMESPACE::
utils::statistics::MetricsStoragePtr metrics,
190 template <
typename... Args>
191 ResultSet Execute(ClusterHostTypeFlags,
const Query& query,
const Args&... args);
202 template <
typename... Args>
203 ResultSet Execute(ClusterHostTypeFlags, OptionalCommandControl,
const Query& query,
const Args&... args);
224 ClusterHostTypeFlags flags,
225 OptionalCommandControl statement_cmd_ctl,
234 NotifyScope
Listen(std::string_view channel, OptionalCommandControl = {});
242 void SetHandlersCommandControl(CommandControlByHandlerMap handlers_command_control);
244 void SetQueriesCommandControl(CommandControlByQueryMap queries_command_control);
260 void SetStatementMetricsSettings(
const StatementMetricsSettings& settings);
262 void SetDsnList(
const DsnList&);
265 detail::NonTransaction Start(ClusterHostTypeFlags, OptionalCommandControl);
267 OptionalCommandControl GetQueryCmdCtl(
const std::string& query_name)
const;
268 OptionalCommandControl GetHandlersCmdCtl(OptionalCommandControl cmd_ctl)
const;
270 detail::ClusterImplPtr pimpl_;
280 ClusterHostTypeFlags flags,
281 OptionalCommandControl statement_cmd_ctl,
285 if (!statement_cmd_ctl && query.GetName()) {
286 statement_cmd_ctl = GetQueryCmdCtl(query.GetName()->GetUnderlying());
288 statement_cmd_ctl = GetHandlersCmdCtl(statement_cmd_ctl);
289 auto ntrx = Start(flags, statement_cmd_ctl);
290 return ntrx.Execute(statement_cmd_ctl, query, args...);