From cb623d44cba8b60a0d5120dbfeefe93fac2f79ff Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Mon, 12 Mar 2018 11:39:31 +0100 Subject: ensure transaction_name is also set for deferred_wire_out transaction, re-use postgres_start logic --- src/exchangedb/plugin_exchangedb_postgres.c | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) (limited to 'src') diff --git a/src/exchangedb/plugin_exchangedb_postgres.c b/src/exchangedb/plugin_exchangedb_postgres.c index d6a9b2838..6c6330556 100644 --- a/src/exchangedb/plugin_exchangedb_postgres.c +++ b/src/exchangedb/plugin_exchangedb_postgres.c @@ -1560,7 +1560,6 @@ postgres_start (void *cls, PQerrorMessage (session->conn)); GNUNET_break (0); PQclear (result); - session->transaction_name = NULL; return GNUNET_SYSERR; } PQclear (result); @@ -4852,19 +4851,13 @@ postgres_start_deferred_wire_out (void *cls, PGresult *result; ExecStatusType ex; - result = PQexec (session->conn, - "START TRANSACTION ISOLATION LEVEL SERIALIZABLE"); - if (PGRES_COMMAND_OK != - (ex = PQresultStatus (result))) - { - TALER_LOG_ERROR ("Failed to start transaction (%s): %s\n", - PQresStatus (ex), - PQerrorMessage (session->conn)); - GNUNET_break (0); - PQclear (result); + postgres_preflight (cls, + session); + if (GNUNET_OK != + postgres_start (cls, + session, + "deferred wire out")) return GNUNET_SYSERR; - } - PQclear (result); result = PQexec (session->conn, "SET CONSTRAINTS wire_out_ref DEFERRED"); if (PGRES_COMMAND_OK != @@ -4875,6 +4868,8 @@ postgres_start_deferred_wire_out (void *cls, PQerrorMessage (session->conn)); GNUNET_break (0); PQclear (result); + postgres_rollback (cls, + session); return GNUNET_SYSERR; } PQclear (result); -- cgit v1.2.3