110 engine::TaskProcessor& bg_task_processor,
112 DefaultCommandControls&& default_cmd_ctls,
115 testsuite::TestsuiteTasks& testsuite_tasks,
116 dynamic_config::Source config_source,
117 USERVER_NAMESPACE::
utils::statistics::MetricsStoragePtr metrics,
189 template <
typename... Args>
190 ResultSet Execute(ClusterHostTypeFlags,
const Query& query,
const Args&... args);
201 template <
typename... Args>
202 ResultSet Execute(ClusterHostTypeFlags, OptionalCommandControl,
const Query& query,
const Args&... args);
223 ClusterHostTypeFlags flags,
224 OptionalCommandControl statement_cmd_ctl,
233 NotifyScope
Listen(std::string_view channel, OptionalCommandControl = {});
241 void SetHandlersCommandControl(CommandControlByHandlerMap handlers_command_control);
243 void SetQueriesCommandControl(CommandControlByQueryMap queries_command_control);
259 void SetStatementMetricsSettings(
const StatementMetricsSettings& settings);
261 void SetDsnList(
const DsnList&);
264 detail::NonTransaction Start(ClusterHostTypeFlags, OptionalCommandControl);
266 OptionalCommandControl GetQueryCmdCtl(
const std::string& query_name)
const;
267 OptionalCommandControl GetHandlersCmdCtl(OptionalCommandControl cmd_ctl)
const;
269 detail::ClusterImplPtr pimpl_;
279 ClusterHostTypeFlags flags,
280 OptionalCommandControl statement_cmd_ctl,
284 if (!statement_cmd_ctl && query.GetName()) {
285 statement_cmd_ctl = GetQueryCmdCtl(query.GetName()->GetUnderlying());
287 statement_cmd_ctl = GetHandlersCmdCtl(statement_cmd_ctl);
288 auto ntrx = Start(flags, statement_cmd_ctl);
289 return ntrx.Execute(statement_cmd_ctl, query, args...);