45 const settings::MysqlSettings& settings,
58 template <
typename... Args>
71 template <
typename... Args>
73 OptionalCommandControl command_control,
102 template <
typename T>
104 OptionalCommandControl command_control,
122 template <
typename Container>
139 template <
typename Container>
141 OptionalCommandControl command_control,
144 const Container& params
162 template <
typename MapTo,
typename Container>
165 const Container& params)
const;
185 template <
typename MapTo,
typename Container>
187 OptionalCommandControl command_control,
190 const Container& params
225 OptionalCommandControl command_control,
239 template <
typename T,
typename... Args>
242 std::size_t batch_size,
259 template <
typename T,
typename... Args>
261 OptionalCommandControl command_control,
263 std::size_t batch_size,
272 static CommandControl GetDefaultCommandControl();
274 StatementResultSet DoExecute(
275 OptionalCommandControl command_control,
278 impl::io::ParamsBinderBase& params,
279 std::optional<std::size_t> batch_size
282 std::unique_ptr<infra::topology::TopologyBase> topology_;
292 OptionalCommandControl command_control,
297 auto params_binder = impl::BindHelper::BindParams(args...);
299 return DoExecute(command_control, host_type, query, params_binder, std::nullopt);
309 OptionalCommandControl command_control,
314 auto params_binder = impl::BindHelper::BindRowAsParams(row);
316 return DoExecute(command_control, host_type, query, params_binder, std::nullopt);
326 OptionalCommandControl command_control,
329 const Container& params
331 UINVARIANT(!params.empty(),
"Empty params in bulk execution");
333 auto params_binder = impl::BindHelper::BindContainerAsParams(params);
335 return DoExecute(command_control, host_type, query, params_binder, std::nullopt);
346 OptionalCommandControl command_control,
349 const Container& params
351 UINVARIANT(!params.empty(),
"Empty params in bulk execution");
353 auto params_binder = impl::BindHelper::BindContainerAsParamsMapped<MapTo>(params);
355 return DoExecute(command_control, host_type, query, params_binder, std::nullopt);
370 OptionalCommandControl command_control,
372 std::size_t batch_size,
376 auto params_binder = impl::BindHelper::BindParams(args...);
378 return CursorResultSet<T>{DoExecute(command_control, host_type, query, params_binder, batch_size)};