--- 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) {