]> jfr.im git - irc/quakenet/newserv.git/blame - dbapi/dbapi.h
Merge.
[irc/quakenet/newserv.git] / dbapi / dbapi.h
CommitLineData
ee8cd7d0
CP
1#ifndef __DBAPI_H
2#define __DBAPI_H
3
e7ae9c9f 4#ifndef DBAPI2_ADAPTER
ee8cd7d0 5#include "../config.h"
e7ae9c9f 6#endif
ee8cd7d0
CP
7
8#define DB_NULLIDENTIFIER 0
9#define DB_CREATE 1
10
827cbcd7
CP
11#ifdef DBAPI_OVERRIDE
12#undef USE_DBAPI_PGSQL
fb630983 13#undef USE_DBAPI_SQLITE
827cbcd7
CP
14#endif
15
16#ifndef BUILDING_DBAPI
17
18#if defined(USE_DBAPI_PGSQL) || defined(DBAPI_OVERRIDE_PGSQL)
ee8cd7d0
CP
19
20#include "../pqsql/pqsql.h"
21
22typedef PQModuleIdentifier DBModuleIdentifier;
23typedef PGconn DBConn;
24typedef PQQueryHandler DBQueryHandler;
25typedef PQResult DBResult;
26
27#define dbconnected() pqconnected()
edd64394 28#define dbgetid() pqgetid()
ee8cd7d0
CP
29#define dbfreeid(x) pqfreeid(x)
30
aa944539
CP
31#define dbattach(schema) pqcreateschema(schema)
32#define dbdetach(schema)
ee8cd7d0 33#define dbescapestring(buf, src, len) PQescapeString(buf, src, len)
91ad51f6 34#define dbloadtable(tablename, init, data, fini) pqloadtable(tablename, init, data, fini, NULL);
e7ae9c9f 35#define dbloadtable_tag(tablename, init, data, fini, tag) pqloadtable(tablename, init, data, fini, tag);
ee8cd7d0
CP
36
37#define dbasyncqueryf(id, handler, tag, flags, format, ...) pqasyncqueryf(id, handler, tag, flags, format , ##__VA_ARGS__)
38#define dbquerysuccessful(x) pqquerysuccessful(x)
39#define dbgetresult(conn) pqgetresult(conn)
40#define dbnumfields(x) PQnfields(x->result)
41
42#define dbfetchrow(result) pqfetchrow(result)
43#define dbgetvalue(result, column) pqgetvalue(result, column)
44
45#define dbclear(result) pqclear(result)
46
827cbcd7
CP
47#endif /* DBAPI_PGSQL */
48
fb630983 49#if defined(USE_DBAPI_SQLITE) || defined(DBAPI_OVERRIDE_SQLITE)
ee8cd7d0
CP
50
51#include "../sqlite/sqlite.h"
52
53typedef SQLiteModuleIdentifier DBModuleIdentifier;
54typedef SQLiteConn DBConn;
55typedef SQLiteQueryHandler DBQueryHandler;
56typedef SQLiteResult DBResult;
57
58#define dbconnected() sqliteconnected()
008e57e5
CP
59#define dbgetid() sqlitegetid()
60#define dbfreeid(x) sqlitefreeid(x)
ee8cd7d0 61
4a532778
CP
62#define dbattach(schema) sqliteattach((schema))
63#define dbdetach(schema) sqlitedetach((schema))
df196dd2 64#define dbescapestring(buf, src, len) sqliteescapestring(buf, (char *)(src), len)
91ad51f6 65#define dbloadtable(tablename, init, data, fini) sqliteloadtable(tablename, init, data, fini, NULL);
e7ae9c9f 66#define dbloadtable_tag(tablename, init, data, fini, tag) sqliteloadtable(tablename, init, data, fini, tag);
ee8cd7d0
CP
67
68#define dbasyncqueryf(id, handler, tag, flags, format, ...) sqliteasyncqueryf(id, handler, tag, flags, format , ##__VA_ARGS__)
69#define dbquerysuccessful(x) sqlitequerysuccessful(x)
70#define dbgetresult(conn) sqlitegetresult(conn)
71#define dbnumfields(x) sqlite3_column_count(x->r)
72
73#define dbfetchrow(result) sqlitefetchrow(result)
74#define dbgetvalue(result, column) sqlitegetvalue(result, column)
75
76#define dbclear(result) sqliteclear(result)
77
fb630983 78#endif /* DBAPI_SQLITE */
827cbcd7
CP
79
80#endif /* BUILDING_DBAPI */
ee8cd7d0
CP
81
82#define dbasyncqueryi(identifier, handler, tag, format, ...) dbasyncqueryf(identifier, handler, tag, 0, format , ##__VA_ARGS__)
83#define dbasyncquery(handler, tag, format, ...) dbasyncqueryf(DB_NULLIDENTIFIER, handler, tag, 0, format , ##__VA_ARGS__)
84#define dbcreatequery(format, ...) dbasyncqueryf(DB_NULLIDENTIFIER, NULL, NULL, DB_CREATE, format , ##__VA_ARGS__)
85#define dbquery(format, ...) dbasyncqueryf(DB_NULLIDENTIFIER, NULL, NULL, 0, format , ##__VA_ARGS__)
86
827cbcd7 87#endif /* __DBAPI_H */