50 template <
typename... Args>
78 template <
typename Container>
109 template <
typename T,
typename... Args>
119 ResultSet DoExecute(impl::io::ParamsBinderBase& params, std::shared_ptr<infra::
ConnectionPtr> connection)
const;
123 void AccountQueryExecute(std::shared_ptr<infra::
ConnectionPtr> connection)
const noexcept;
124 void AccountQueryFailed(std::shared_ptr<infra::
ConnectionPtr> connection)
const noexcept;
126 impl::ClientImplPtr pimpl_;
131 auto connection = GetConnection(operation_type);
132 AccountQueryExecute(connection);
134 auto params_binder = impl::BindHelper::UpdateParamsBindings(query
.GetStatement(), *connection, args...);
135 return DoExecute(params_binder, connection);
136 }
catch (
const std::exception& err) {
137 AccountQueryFailed(connection);
144 auto connection = GetConnection(operation_type);
145 AccountQueryExecute(connection);
147 auto params_binder = impl::BindHelper::UpdateRowAsParamsBindings(query
.GetStatement(), *connection, row);
148 return DoExecute(params_binder, connection);
149 }
catch (
const std::exception& err) {
150 AccountQueryFailed(connection);
157 auto connection = GetConnection(operation_type);
158 for (
const auto& row : params) {
159 AccountQueryExecute(connection);
161 auto params_binder = impl::BindHelper::UpdateRowAsParamsBindings(query
.GetStatement(), *connection, row);
162 DoExecute(params_binder, connection);
163 }
catch (
const std::exception& err) {
164 AccountQueryFailed(connection);
173 auto connection = GetConnection(operation_type);
174 AccountQueryExecute(connection);
176 auto params_binder = impl::BindHelper::UpdateParamsBindings(query
.GetStatement(), *connection, args...);
177 return CursorResultSet<T>{DoExecute(params_binder, connection), batch_size};
178 }
catch (
const std::exception& err) {
179 AccountQueryFailed(connection);