blob: 3e775c1b3a05c7a6f3fa1ca79e302c6eaddcb720 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
#ifndef MYGRATE_INPUT_MYSQLCONN_H
#define MYGRATE_INPUT_MYSQLCONN_H
#include <cstddef>
#include <dbConn.h>
#include <initializer_list>
#include <mysql.h>
namespace MyGrate {
class DbValue;
}
namespace MyGrate::Input {
class MySQLErr : public std::runtime_error {
public:
MySQLErr(const std::string & when, MYSQL *);
MySQLErr(const std::string & when, MYSQL_STMT *);
};
class MySQLConn : public MYSQL, public DbConn {
public:
static constexpr auto paramMode {ParamMode::QMark};
MySQLConn(const char * const host, const char * const user, const char * const pass, unsigned short port,
const char * const db = "");
MySQLConn(const MySQLConn &) = delete;
MySQLConn(MySQLConn &&) = delete;
~MySQLConn();
void query(const char * const) override;
void query(const char * const q, const std::initializer_list<DbValue> &) override;
DbPrepStmtPtr prepare(const char * const, std::size_t) override;
void beginTx() override;
void commitTx() override;
void rollbackTx() override;
};
}
#endif
|