src/evsql_test.c
branchnew-evsql
changeset 44 9e76ee9729b6
child 45 424ce5ab82fd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/evsql_test.c	Thu Nov 20 01:16:24 2008 +0200
@@ -0,0 +1,82 @@
+
+#include <event2/event.h>
+
+#include "evsql.h"
+#include "lib/log.h"
+#include "lib/signals.h"
+#include "lib/misc.h"
+
+#define CONNINFO_DEFAULT "dbname=dbfs port=5433"
+
+void db_results (struct evsql_result *result, void *arg) {
+    uint32_t val;
+
+    static struct evsql_result_info result_info = {
+        0, {
+            {   EVSQL_FMT_BINARY,   EVSQL_TYPE_UINT32   },
+            {   0,                  0                   }
+        }
+    };
+
+
+}
+
+void do_query (struct evsql *db) {
+    struct evsql_query *query = NULL;
+
+    static struct evsql_query_info query_info = {
+        .sql    = "SELECT $1::int4 + 5",
+
+        .params = {
+            {   EVSQL_FMT_BINARY,   EVSQL_TYPE_UINT32   },
+            {   0,                  0                   }
+        }
+    };
+
+    // query
+    assert((query = evsql_query_exec(db, NULL, &query_info, (uint32_t) 4, db_results, NULL)) != NULL);
+}
+
+int main (char argc, char **argv) {
+    struct event_base *ev_base = NULL;
+    struct signals *signals = NULL;
+    struct evsql *db = NULL;
+
+    const char *db_conninfo;
+    
+    // parse args
+    db_conninfo = CONNINFO_DEFAULT;
+    
+    // init libevent
+    if ((ev_base = event_base_new()) == NULL)
+        ERROR("event_base_new");
+    
+    // setup signals
+    if ((signals = signals_default(ev_base)) == NULL)
+        ERROR("signals_default");
+
+    // setup evsql
+    if ((db = evsql_new_pq(ev_base, db_conninfo, NULL, NULL)) == NULL)
+        ERROR("evsql_new_pq");
+
+    // run libevent
+    INFO("running libevent loop");
+
+    if (event_base_dispatch(ev_base))
+        PERROR("event_base_dispatch");
+    
+    // clean shutdown
+
+error :
+    if (db) {
+        /* evsql_close(db); */
+    }
+
+    if (signals)
+        signals_free(signals);
+
+    if (ev_base)
+        event_base_free(ev_base);
+    
+}
+