fix evsql_trans_commit (null arg) new-evsql
authorTero Marttila <terom@fixme.fi>
Sat, 29 Nov 2008 00:43:35 +0200
branchnew-evsql
changeset 47 8c6c459eacb7
parent 46 75cecfc4603b
child 48 8b019d191353
fix evsql_trans_commit (null arg)
src/evsql/evsql.c
src/evsql_test.c
--- a/src/evsql/evsql.c	Sat Nov 29 00:39:47 2008 +0200
+++ b/src/evsql/evsql.c	Sat Nov 29 00:43:35 2008 +0200
@@ -837,7 +837,7 @@
         ERROR("cannot COMMIT because transaction is still busy");
     
     // query
-    if (evsql_query(trans->evsql, trans, sql, _evsql_trans_commit_res, NULL) == NULL)
+    if (evsql_query(trans->evsql, trans, sql, _evsql_trans_commit_res, trans) == NULL)
         goto error;
     
     // mark it as commited in case someone wants to abort it
--- a/src/evsql_test.c	Sat Nov 29 00:39:47 2008 +0200
+++ b/src/evsql_test.c	Sat Nov 29 00:43:35 2008 +0200
@@ -87,6 +87,13 @@
     INFO("[evsql_test.query_send] enqueued query, trans=%p: %p: %d", trans, query, query_id);
 }
 
+void trans_commit (struct evsql_test_ctx *ctx) {
+    if (evsql_trans_commit(ctx->trans))
+        FATAL("evsql_trans_commit failed");
+    
+    INFO("[evsql_test.trans_commit] commiting transaction");
+}
+
 void trans_insert_result (struct evsql_result *res, void *arg) {
     struct evsql_test_ctx *ctx = arg;
     err_t err;
@@ -121,6 +128,9 @@
 
     // done
     evsql_result_end(res);
+
+    // commit the transaction
+    trans_commit(ctx);
 }
 
 void trans_insert (struct evsql_test_ctx *ctx) {
@@ -186,7 +196,7 @@
 void trans_error (struct evsql_trans *trans, void *arg) {
     struct evsql_test_ctx *ctx = arg;
 
-    FATAL("[evsql_test.trans_error] failure: %s", evsql_trans_error(trans));
+    FATAL("[evsql_test.trans_error] failure: trans=%p: %s", ctx->trans, evsql_trans_error(trans));
 }
 
 void trans_ready (struct evsql_trans *trans, void *arg) {
@@ -200,7 +210,7 @@
 void trans_done (struct evsql_trans *trans, void *arg) {
     struct evsql_test_ctx *ctx = arg;
 
-    INFO("[evsql_test.trans_done] done");
+    INFO("[evsql_test.trans_done] done: trans=%p", ctx->trans);
 }
 
 void begin_transaction (struct evsql_test_ctx *ctx) {