23#include "sql/sqlException.hpp"
24#include "sql/resultSet.hpp"
25#include "sql/preparedStatement.hpp"
82 std::map<std::string, PreparedStatement*>
_stmts;
202 template<typename T, typename... Q>
215 template<typename T, typename... Q>
228 template<typename T, typename... Q>
253 template<typename T, typename... Q>
254 uint64_t
update(const std::
string&
query, const T& value, const Q&... values);
267 template<typename T, typename Iterable>
356 template<typename T, typename... Q>
357 static
void bindParameters(
PreparedStatement& stmt, std::
size_t& idx, const T& value, const Q&... values);
369 static
void bindParameters(
PreparedStatement& stmt, std::
size_t& idx, const T& value);
394#include "sql/impl/connection.hpp"
virtual void sendCommit()=0
uint64_t update(const std::string &query)
uint64_t batchUpdate(const std::string &query, std::function< void(PreparedStatement &, const T &)> mapper, const Iterable &values)
void queryMapRow(const std::string &sqlQuery, std::function< void(ResultSet &)> rowMapper)
virtual uint64_t executeUpdate(const std::string &query)=0
virtual void sendStartTransaction()=0
virtual ResultSet * executeQuery(const std::string &query)=0
virtual void sendRollback()=0
Connection(const Connection &)=delete
void queryExtract(const std::string &sqlQuery, std::function< void(ResultSet &)> resExtractor)
ResultSet * query(const std::string &query)
bool _errors
Definition connection.hpp:85
PreparedStatement & prepareStatement(const std::string &query)
virtual PreparedStatement * makePrepared(const std::string &query)=0
void setValid(bool valid) noexcept
bool _transaction
Definition connection.hpp:79
std::map< std::string, PreparedStatement * > _stmts
Definition connection.hpp:82
virtual ~Connection() noexcept
bool _valid
Definition connection.hpp:76
bool isValid() const noexcept
SQL prepared statement.
Definition preparedStatement.hpp:43
SQL result representation.
Definition resultSet.hpp:50
SQL namespace.
Definition clauses.hpp:26
SQL database connection configuration.
Definition connection.hpp:39
std::string driver
Definition connection.hpp:41
std::string password
Definition connection.hpp:56
std::string application
Definition connection.hpp:59
int port
Definition connection.hpp:50
std::string hostname
Definition connection.hpp:47
std::string user
Definition connection.hpp:53
std::string database
Definition connection.hpp:44