8 #define DB_NULLIDENTIFIER 0
13 #undef USE_DBAPI_PGSQL
14 #undef USE_DBAPI_SQLITE
17 #ifndef BUILDING_DBAPI
19 #if defined(USE_DBAPI_PGSQL) || defined(DBAPI_OVERRIDE_PGSQL)
21 #include "../pqsql/pqsql.h"
23 typedef PQModuleIdentifier DBModuleIdentifier
;
24 typedef PGconn DBConn
;
25 typedef PQQueryHandler DBQueryHandler
;
26 typedef PQResult DBResult
;
28 #define dbconnected() pqconnected()
29 #define dbgetid() pqgetid()
30 #define dbfreeid(x) pqfreeid(x)
32 #define dbattach(schema) pqcreateschema(schema)
33 #define dbdetach(schema)
34 #define dbescapestring(buf, src, len) PQescapeString(buf, src, len)
35 #define dbloadtable(tablename, init, data, fini) pqloadtable(tablename, init, data, fini, NULL);
36 #define dbloadtable_tag(tablename, init, data, fini, tag) pqloadtable(tablename, init, data, fini, tag);
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)
42 #define dbnumaffected(c, x) strtoul(PQcmdTuples(x->result), NULL, 10)
44 #define dbfetchrow(result) pqfetchrow(result)
45 #define dbgetvalue(result, column) pqgetvalue(result, column)
47 #define dbclear(result) pqclear(result)
48 #define dbcall(id, handler, tag, function, ...) pqasyncqueryf(id, handler, tag, (handler) == NULL ? DB_CALL : 0, "SELECT %s(%s)", function , ##__VA_ARGS__)
50 #endif /* DBAPI_PGSQL */
52 #if defined(USE_DBAPI_SQLITE) || defined(DBAPI_OVERRIDE_SQLITE)
54 #include "../sqlite/sqlite.h"
56 typedef SQLiteModuleIdentifier DBModuleIdentifier
;
57 typedef SQLiteConn DBConn
;
58 typedef SQLiteQueryHandler DBQueryHandler
;
59 typedef SQLiteResult DBResult
;
61 #define dbconnected() sqliteconnected()
62 #define dbgetid() sqlitegetid()
63 #define dbfreeid(x) sqlitefreeid(x)
65 #define dbattach(schema) sqliteattach((schema))
66 #define dbdetach(schema) sqlitedetach((schema))
67 #define dbescapestring(buf, src, len) sqliteescapestring(buf, (char *)(src), len)
68 #define dbloadtable(tablename, init, data, fini) sqliteloadtable(tablename, init, data, fini, NULL);
69 #define dbloadtable_tag(tablename, init, data, fini, tag) sqliteloadtable(tablename, init, data, fini, tag);
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)
75 #define dbnumaffected(c, x) sqlite3_changes(sqlitegetconn())
77 #define dbfetchrow(result) sqlitefetchrow(result)
78 #define dbgetvalue(result, column) sqlitegetvalue(result, column)
80 #define dbclear(result) sqliteclear(result)
82 #define dbcall(...) abort() /* HA */
84 #endif /* DBAPI_SQLITE */
86 #endif /* BUILDING_DBAPI */
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__)
93 #endif /* __DBAPI_H */