]> granicus.if.org Git - icinga2/blob - lib/mysql_shim/mysqlinterface.cpp
Merge pull request #7185 from Icinga/bugfix/gelfwriter-wrong-log-facility
[icinga2] / lib / mysql_shim / mysqlinterface.cpp
1 /* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */
2
3 #include "mysql_shim/mysqlinterface.hpp"
4
5 using namespace icinga;
6
7 struct MysqlInterfaceImpl final : public MysqlInterface
8 {
9         void Destroy() override
10         {
11                 delete this;
12         }
13
14         my_ulonglong affected_rows(MYSQL *mysql) const override
15         {
16                 return mysql_affected_rows(mysql);
17         }
18
19         void close(MYSQL *sock) const override
20         {
21                 return mysql_close(sock);
22         }
23
24         const char *error(MYSQL *mysql) const override
25         {
26                 return mysql_error(mysql);
27         }
28
29         MYSQL_FIELD *fetch_field(MYSQL_RES *result) const override
30         {
31                 return mysql_fetch_field(result);
32         }
33
34         unsigned long *fetch_lengths(MYSQL_RES *result) const override
35         {
36                 return mysql_fetch_lengths(result);
37         }
38
39         MYSQL_ROW fetch_row(MYSQL_RES *result) const override
40         {
41                 return mysql_fetch_row(result);
42         }
43
44         unsigned int field_count(MYSQL *mysql) const override
45         {
46                 return mysql_field_count(mysql);
47         }
48
49         MYSQL_FIELD_OFFSET field_seek(MYSQL_RES *result, MYSQL_FIELD_OFFSET offset) const override
50         {
51                 return mysql_field_seek(result, offset);
52         }
53
54         void free_result(MYSQL_RES *result) const override
55         {
56                 mysql_free_result(result);
57         }
58
59         MYSQL *init(MYSQL *mysql) const override
60         {
61                 return mysql_init(mysql);
62         }
63
64         my_ulonglong insert_id(MYSQL *mysql) const override
65         {
66                 return mysql_insert_id(mysql);
67         }
68
69         int next_result(MYSQL *mysql) const override
70         {
71                 return mysql_next_result(mysql);
72         }
73
74         int ping(MYSQL *mysql) const override
75         {
76                 return mysql_ping(mysql);
77         }
78
79         int query(MYSQL *mysql, const char *q) const override
80         {
81                 return mysql_query(mysql, q);
82         }
83
84         MYSQL *real_connect(MYSQL *mysql, const char *host, const char *user, const char *passwd,
85                 const char *db, unsigned int port, const char *unix_socket, unsigned long clientflag) const override
86         {
87                 return mysql_real_connect(mysql, host, user, passwd, db, port, unix_socket, clientflag);
88         }
89
90         unsigned long real_escape_string(MYSQL *mysql, char *to, const char *from, unsigned long length) const override
91         {
92                 return mysql_real_escape_string(mysql, to, from, length);
93         }
94
95         bool ssl_set(MYSQL *mysql, const char *key, const char *cert, const char *ca, const char *capath, const char *cipher) const override
96         {
97                 return mysql_ssl_set(mysql, key, cert, ca, capath, cipher);
98         }
99
100         MYSQL_RES *store_result(MYSQL *mysql) const override
101         {
102                 return mysql_store_result(mysql);
103         }
104
105         unsigned int thread_safe() const override
106         {
107                 return mysql_thread_safe();
108         }
109 };
110
111 MysqlInterface *create_mysql_shim()
112 {
113         return new MysqlInterfaceImpl();
114 }