]> jfr.im git - irc/quakenet/newserv.git/commitdiff
Add va_arg query functions to pqsql and to dbapi.
authorChris Porter <redacted>
Mon, 15 Sep 2008 05:26:04 +0000 (06:26 +0100)
committerChris Porter <redacted>
Mon, 15 Sep 2008 05:26:04 +0000 (06:26 +0100)
Add loadtable_tag to dbapi.

dbapi/dbapi.h
pqsql/pqsql.c
pqsql/pqsql.h
sqlite/sqlite.c

index b8e241c07ec9ff700380c862fd8f7fead6ebdf50..39372b04a0af3a6c1f356e3c1cb1ef7286b42450 100644 (file)
@@ -1,7 +1,9 @@
 #ifndef __DBAPI_H
 #define __DBAPI_H
 
+#ifndef DBAPI2_ADAPTER
 #include "../config.h"
+#endif
 
 #define DB_NULLIDENTIFIER 0
 #define DB_CREATE 1
@@ -30,8 +32,10 @@ typedef PQResult DBResult;
 #define dbdetach(schema)
 #define dbescapestring(buf, src, len)  PQescapeString(buf, src, len)
 #define dbloadtable(tablename, init, data, fini) pqloadtable(tablename, init, data, fini, NULL);
+#define dbloadtable_tag(tablename, init, data, fini, tag) pqloadtable(tablename, init, data, fini, tag);
 
 #define dbasyncqueryf(id, handler, tag, flags, format, ...) pqasyncqueryf(id, handler, tag, flags, format , ##__VA_ARGS__)
+#define dbasyncqueryfv(id, handler, tag, flags, format, ap) pqasyncqueryfv(id, handler, tag, flags, format, ap)
 #define dbquerysuccessful(x) pqquerysuccessful(x)
 #define dbgetresult(conn) pqgetresult(conn)
 #define dbnumfields(x) PQnfields(x->result)
@@ -60,8 +64,10 @@ typedef SQLiteResult DBResult;
 #define dbdetach(schema) sqlitedetach(schema)
 #define dbescapestring(buf, src, len) sqliteescapestring(buf, (char *)(src), len)
 #define dbloadtable(tablename, init, data, fini) sqliteloadtable(tablename, init, data, fini, NULL);
+#define dbloadtable_tag(tablename, init, data, fini, tag) sqliteloadtable(tablename, init, data, fini, tag);
 
 #define dbasyncqueryf(id, handler, tag, flags, format, ...) sqliteasyncqueryf(id, handler, tag, flags, format , ##__VA_ARGS__)
+#define dbasyncqueryfv(id, handler, tag, flags, format, ap) sqliteasyncqueryfv(id, handler, tag, flags, format, ap)
 #define dbquerysuccessful(x) sqlitequerysuccessful(x)
 #define dbgetresult(conn) sqlitegetresult(conn)
 #define dbnumfields(x) sqlite3_column_count(x->r)
index a43c04905ff95ae40be60a27397e4b05a1862a94..e4f0225249aa28a2d9fece4deb42ff8f63553a68 100644 (file)
@@ -232,18 +232,15 @@ void dbhandler(int fd, short revents) {
 }
 
 /* sorry Q9 */
-void pqasyncqueryf(int identifier, PQQueryHandler handler, void *tag, int flags, char *format, ...) {
+void pqasyncqueryfv(int identifier, PQQueryHandler handler, void *tag, int flags, char *format, va_list va) {
   char querybuf[8192];
-  va_list va;
   int len;
   pqasyncquery_s *qp;
 
   if(!pqconnected())
     return;
 
-  va_start(va, format);
   len = vsnprintf(querybuf, sizeof(querybuf), format, va);
-  va_end(va);
 
   /* PPA: no check here... */
   qp = (pqasyncquery_s *)nsmalloc(POOL_PQSQL, sizeof(pqasyncquery_s));
@@ -276,6 +273,14 @@ void pqasyncqueryf(int identifier, PQQueryHandler handler, void *tag, int flags,
   }
 }
 
+void pqasyncqueryf(int identifier, PQQueryHandler handler, void *tag, int flags, char *format, ...) {
+  va_list va;
+
+  va_start(va, format);
+  pqasyncqueryfv(identifier, handler, tag, flags, format, va);
+  va_end(va);
+}
+
 void pqloadtable(char *tablename, PQQueryHandler init, PQQueryHandler data, PQQueryHandler fini, void *tag)
 {
   pqtableloaderinfo_s *tli;
index 6f885e2eec1d27cd06e74aa1c3213e8f2a7dec1b..ad6e32feb0c64f11bf6dfa2d890f1d9963ca7c5a 100644 (file)
@@ -18,6 +18,7 @@ typedef void (*PQQueryHandler)(PGconn *, void *);
 
 void pqloadtable(char *tablename, PQQueryHandler init, PQQueryHandler data, PQQueryHandler fini, void *tag);
 
+void pqasyncqueryfv(int identifier, PQQueryHandler handler, void *tag, int flags, char *format, va_list va);
 void pqasyncqueryf(PQModuleIdentifier identifier, PQQueryHandler handler, void *tag, int flags, char *format, ...) __attribute__ ((format (printf, 5, 6)));
 #define pqasyncqueryi(identifier, handler, tag, format, ...) pqasyncqueryf(identifier, handler, tag, 0, format , ##__VA_ARGS__)
 #define pqasyncquery(handler, tag, format, ...) pqasyncqueryf(DB_NULLIDENTIFIER, handler, tag, 0, format , ##__VA_ARGS__)
index 47d334735be0a2df47176ffdaa52afc41841d673..3003a5c42f7612971cc4c6b427b017f97400037d 100644 (file)
@@ -48,9 +48,6 @@ static int inited;
 static void sqlitequeueprocessor(void *arg);
 static void dbstatus(int hooknum, void *arg);
 
-void registersqliteprovider(void);
-void deregistersqliteprovider(void);
-
 void _init(void) {
   sstring *dbfile;
   int rc;
@@ -91,8 +88,6 @@ void _init(void) {
 
   sqliteasyncqueryf(0, NULL, NULL, 0, "PRAGMA synchronous=" SYNC_MODE ";");
   registerhook(HOOK_CORE_STATSREQUEST, dbstatus);
-
-  registersqliteprovider();
 }
 
 void _fini(void) {
@@ -114,8 +109,6 @@ void _fini(void) {
 
     sqlite3_close(conn);
 
-    deregistersqliteprovider();
-
     dbconnected = 0;
   }