45 const settings::MysqlSettings& settings,
58 template <
typename... Args>
71 template <
typename... Args>
73 OptionalCommandControl command_control,
104 template <
typename T>
106 OptionalCommandControl command_control,
124 template <
typename Container>
143 template <
typename Container>
145 OptionalCommandControl command_control,
148 const Container& params
166 template <
typename MapTo,
typename Container>
169 const Container& params)
const;
191 template <
typename MapTo,
typename Container>
193 OptionalCommandControl command_control,
196 const Container& params
244 template <
typename T,
typename... Args>
262 template <
typename T,
typename... Args>
264 OptionalCommandControl command_control,
266 std::size_t batch_size,
275 static CommandControl GetDefaultCommandControl();
277 StatementResultSet DoExecute(
278 OptionalCommandControl command_control,
281 impl::io::ParamsBinderBase& params,
282 std::optional<std::size_t> batch_size
285 std::unique_ptr<infra::topology::TopologyBase> topology_;
295 OptionalCommandControl command_control,
300 auto params_binder = impl::BindHelper::BindParams(args...);
302 return DoExecute(command_control, host_type, query
.GetStatement(), params_binder, std::nullopt);
312 OptionalCommandControl command_control,
317 auto params_binder = impl::BindHelper::BindRowAsParams(row);
319 return DoExecute(command_control, host_type, query, params_binder, std::nullopt);
329 OptionalCommandControl command_control,
332 const Container& params
334 UINVARIANT(!params.empty(),
"Empty params in bulk execution");
336 auto params_binder = impl::BindHelper::BindContainerAsParams(params);
338 return DoExecute(command_control, host_type, query
.GetStatement(), params_binder, std::nullopt);
349 OptionalCommandControl command_control,
352 const Container& params
354 UINVARIANT(!params.empty(),
"Empty params in bulk execution");
356 auto params_binder = impl::BindHelper::BindContainerAsParamsMapped<MapTo>(params);
358 return DoExecute(command_control, host_type, query
.GetStatement(), params_binder, std::nullopt);
369 OptionalCommandControl command_control,
371 std::size_t batch_size,
375 auto params_binder = impl::BindHelper::BindParams(args...);
377 return CursorResultSet<T>{DoExecute(command_control, host_type, query, params_binder, batch_size)};