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
233 OptionalCommandControl command_control,
247 template <
typename T,
typename... Args>
250 std::size_t batch_size,
269 template <
typename T,
typename... Args>
271 OptionalCommandControl command_control,
273 std::size_t batch_size,
282 static CommandControl GetDefaultCommandControl();
284 StatementResultSet DoExecute(
285 OptionalCommandControl command_control,
288 impl::io::ParamsBinderBase& params,
289 std::optional<std::size_t> batch_size
292 std::unique_ptr<infra::topology::TopologyBase> topology_;
302 OptionalCommandControl command_control,
307 auto params_binder = impl::BindHelper::BindParams(args...);
309 return DoExecute(command_control, host_type, query, params_binder, std::nullopt);
319 OptionalCommandControl command_control,
324 auto params_binder = impl::BindHelper::BindRowAsParams(row);
326 return DoExecute(command_control, host_type, query, params_binder, std::nullopt);
336 OptionalCommandControl command_control,
339 const Container& params
341 UINVARIANT(!params.empty(),
"Empty params in bulk execution");
343 auto params_binder = impl::BindHelper::BindContainerAsParams(params);
345 return DoExecute(command_control, host_type, query, params_binder, std::nullopt);
356 OptionalCommandControl command_control,
359 const Container& params
361 UINVARIANT(!params.empty(),
"Empty params in bulk execution");
363 auto params_binder = impl::BindHelper::BindContainerAsParamsMapped<MapTo>(params);
365 return DoExecute(command_control, host_type, query, params_binder, std::nullopt);
380 OptionalCommandControl command_control,
382 std::size_t batch_size,
386 auto params_binder = impl::BindHelper::BindParams(args...);
388 return CursorResultSet<T>{DoExecute(command_control, host_type, query, params_binder, batch_size)};