31 [[nodiscard]]
static bool connect(
const std::string& db_name,
32 const std::string& user,
33 const std::string& password,
34 const std::string& host,
35 const std::string& port);
37 [[nodiscard]]
static bool connect(
const std::string& connection_string);
54template <
typename... Types>
55[[nodiscard]]
bool execQuery(
const std::string& query, Types&&... args)
noexcept {
76 }
catch (
const std::exception& e) {
77 std::cerr <<
"Error: " << e.what() <<
"\nInvalid exec for query:\n" << query << std::endl;
89template <
typename... Types>
111 }
catch (
const std::exception& e) {
112 std::cerr <<
"Error: " << e.what() <<
"\nInvalid selection for query:\n" << query << std::endl;
124template <
typename... Types>
125[[nodiscard]] std::vector<RowDTOAdapter>
execSelectAll(
const std::string& query, Types&&... args)
noexcept {
126 static int times = 0;
138 std::vector<RowDTOAdapter> selection;
139 for (
int i{0}; i < result.size(); ++i) {
140 selection.emplace_back(result[i]);
152 }
catch (
const std::exception& e) {
153 std::cerr <<
"Error: " << e.what() <<
"\nInvalid selection for query:\n" << query << std::endl;
static bool hasConnection() noexcept
checks if the database has an active connection
Definition Database.cpp:68
static NativeDatabase::Connection * getConnection() noexcept
returns the database connection. Reconnects if the Database has no active connection
Definition Database.cpp:107
static void disconnect() noexcept
disconnect from a postgres database
Definition Database.cpp:60
static bool connect(const std::string &db_name, const std::string &user, const std::string &password, const std::string &host, const std::string &port)
connect to a postgres database
Definition Database.cpp:32
static void reconnect() noexcept
reconnects to the database server if the connection was lost
Definition Database.cpp:78
Definition RowDTOAdapter.hpp:20
Definition DatabaseBackend.hpp:30
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
Definition Database.hpp:45
std::vector< RowDTOAdapter > execSelectAll(const std::string &query, Types &&... args) noexcept
executes a Select on the database
Definition Database.hpp:125
bool execQuery(const std::string &query, Types &&... args) noexcept
executes a query on the database
Definition Database.hpp:55
RowDTOAdapter execSelect(const std::string &query, Types &&... args) noexcept
executes a Select on the database
Definition Database.hpp:90