30 return provider_.hasConnection();
33 template <
typename... Types>
34 [[nodiscard]]
bool execQuery(
const std::string& query, Types&&... args)
noexcept;
36 template <
typename... Types>
39 template <
typename... Types>
40 [[nodiscard]] std::vector<RowDTOAdapter>
execSelectAll(
const std::string& query, Types&&... args)
noexcept;
48template <
typename... Types>
50 static thread_local int times = 0;
54 (void)txn.exec(query, params);
64 provider_.reconnect();
65 return execQuery(query, std::forward<Types>(args)...);
66 }
catch (
const std::exception& e) {
67 std::cerr <<
"Error: " << e.what() <<
"\nInvalid exec for query:\n" << query << std::endl;
72template <
typename... Types>
74 static thread_local int times = 0;
88 provider_.reconnect();
89 return execSelect(query, std::forward<Types>(args)...);
90 }
catch (
const std::exception& e) {
91 std::cerr <<
"Error: " << e.what() <<
"\nInvalid selection for query:\n" << query << std::endl;
96template <
typename... Types>
98 Types&&... args)
noexcept {
99 static thread_local int times = 0;
106 std::vector<RowDTOAdapter> selection;
107 for (
int i{0}; i < result.size(); ++i) {
108 selection.emplace_back(result[i]);
117 provider_.reconnect();
119 }
catch (
const std::exception& e) {
120 std::cerr <<
"Error: " << e.what() <<
"\nInvalid selection for query:\n" << query << std::endl;
Definition DatabaseExecutor.hpp:21
std::vector< RowDTOAdapter > execSelectAll(const std::string &query, Types &&... args) noexcept
Definition DatabaseExecutor.hpp:97
DatabaseExecutor(const DatabaseExecutor &)=delete
bool hasConnection() const noexcept
Definition DatabaseExecutor.hpp:29
RowDTOAdapter execSelect(const std::string &query, Types &&... args) noexcept
Definition DatabaseExecutor.hpp:73
DatabaseExecutor & operator=(const DatabaseExecutor &)=delete
bool execQuery(const std::string &query, Types &&... args) noexcept
Definition DatabaseExecutor.hpp:49
DatabaseExecutor(IDatabaseConnectionProvider &provider) noexcept
Definition DatabaseExecutor.hpp:23
static DatabaseExecutor & application_instance()
Definition DatabaseExecutor.cpp:31
Definition IDatabaseConnectionProvider.hpp:16
Definition RowDTOAdapter.hpp:20
pqxx::broken_connection BrokenConnectionException
Definition DatabaseBackend.hpp:33
pqxx::work Transaction
Definition DatabaseBackend.hpp:34
pqxx::row Row
Definition DatabaseBackend.hpp:31
pqxx::result Result
Definition DatabaseBackend.hpp:36
pqxx::params ParameterList
Definition DatabaseBackend.hpp:35