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