75 engine::TaskProcessor& bg_task_processor,
77 DefaultCommandControls&& default_cmd_ctls,
80 testsuite::TestsuiteTasks& testsuite_tasks,
81 dynamic_config::Source config_source,
154 template <
typename... Args>
155 ResultSet Execute(ClusterHostTypeFlags,
const Query& query,
const Args&... args);
166 template <
typename... Args>
167 ResultSet Execute(ClusterHostTypeFlags, OptionalCommandControl,
const Query& query,
const Args&... args);
188 ClusterHostTypeFlags flags,
189 OptionalCommandControl statement_cmd_ctl,
210 template <
typename Container>
228 template <
typename Container>
230 ClusterHostTypeFlags flags,
231 OptionalCommandControl statement_cmd_ctl,
233 const Container& args
240 NotifyScope
Listen(std::string_view channel, OptionalCommandControl = {});
248 void SetHandlersCommandControl(CommandControlByHandlerMap handlers_command_control);
250 void SetQueriesCommandControl(CommandControlByQueryMap queries_command_control);
262 void SetPoolSettings(
const PoolSettings& settings);
266 void SetStatementMetricsSettings(
const StatementMetricsSettings& settings);
268 void SetDsnList(
const DsnList&);
271 detail::NonTransaction Start(ClusterHostTypeFlags, OptionalCommandControl);
273 OptionalCommandControl GetQueryCmdCtl(std::string_view query_name)
const;
274 OptionalCommandControl GetHandlersCmdCtl(OptionalCommandControl cmd_ctl)
const;
276 detail::ClusterImplPtr pimpl_;
286 ClusterHostTypeFlags flags,
287 OptionalCommandControl statement_cmd_ctl,
294 statement_cmd_ctl = GetHandlersCmdCtl(statement_cmd_ctl);
295 auto ntrx = Start(flags, statement_cmd_ctl);
296 return ntrx.Execute(statement_cmd_ctl, query, args...);
306 ClusterHostTypeFlags flags,
307 OptionalCommandControl statement_cmd_ctl,
309 const Container& args
314 statement_cmd_ctl = GetHandlersCmdCtl(statement_cmd_ctl);
315 auto ntrx = Start(flags, statement_cmd_ctl);
317 return io::DecomposeContainerByColumns(args).Perform([&ntrx, &statement_cmd_ctl, &query](
const auto&... args) {
318 return ntrx.Execute(statement_cmd_ctl, query, args...);