50 template <
typename... Args>
78 template <
typename Container>
109 template <
typename T,
typename... Args>
112 std::size_t batch_size,
123 ResultSet DoExecute(impl::io::ParamsBinderBase& params, std::shared_ptr<infra::
ConnectionPtr> connection)
const;
127 void AccountQueryExecute(std::shared_ptr<infra::
ConnectionPtr> connection)
const noexcept;
128 void AccountQueryFailed(std::shared_ptr<infra::
ConnectionPtr> connection)
const noexcept;
130 impl::ClientImplPtr pimpl_;
135 auto connection = GetConnection(operation_type);
136 AccountQueryExecute(connection);
138 auto params_binder = impl::BindHelper::UpdateParamsBindings(query, *connection, args...);
139 return DoExecute(params_binder, connection);
140 }
catch (
const std::exception& err) {
141 AccountQueryFailed(connection);
148 auto connection = GetConnection(operation_type);
149 AccountQueryExecute(connection);
151 auto params_binder = impl::BindHelper::UpdateRowAsParamsBindings(query, *connection, row);
152 return DoExecute(params_binder, connection);
153 }
catch (
const std::exception& err) {
154 AccountQueryFailed(connection);
161 auto connection = GetConnection(operation_type);
162 for (
const auto& row : params) {
163 AccountQueryExecute(connection);
165 auto params_binder = impl::BindHelper::UpdateRowAsParamsBindings(query, *connection, row);
166 DoExecute(params_binder, connection);
167 }
catch (
const std::exception& err) {
168 AccountQueryFailed(connection);
177 std::size_t batch_size,
181 auto connection = GetConnection(operation_type);
182 AccountQueryExecute(connection);
184 auto params_binder = impl::BindHelper::UpdateParamsBindings(query, *connection, args...);
185 return CursorResultSet<T>{DoExecute(params_binder, connection), batch_size};
186 }
catch (
const std::exception& err) {
187 AccountQueryFailed(connection);