ensure transaction_name is also set for deferred_wire_out transaction, re-use postgres_start logic

This commit is contained in:
Christian Grothoff 2018-03-12 11:39:31 +01:00
parent a166ca7fec
commit cb623d44cb
No known key found for this signature in database
GPG Key ID: 939E6BE1E29FC3CC

View File

@ -1560,7 +1560,6 @@ postgres_start (void *cls,
PQerrorMessage (session->conn)); PQerrorMessage (session->conn));
GNUNET_break (0); GNUNET_break (0);
PQclear (result); PQclear (result);
session->transaction_name = NULL;
return GNUNET_SYSERR; return GNUNET_SYSERR;
} }
PQclear (result); PQclear (result);
@ -4852,19 +4851,13 @@ postgres_start_deferred_wire_out (void *cls,
PGresult *result; PGresult *result;
ExecStatusType ex; ExecStatusType ex;
result = PQexec (session->conn, postgres_preflight (cls,
"START TRANSACTION ISOLATION LEVEL SERIALIZABLE"); session);
if (PGRES_COMMAND_OK != if (GNUNET_OK !=
(ex = PQresultStatus (result))) postgres_start (cls,
{ session,
TALER_LOG_ERROR ("Failed to start transaction (%s): %s\n", "deferred wire out"))
PQresStatus (ex),
PQerrorMessage (session->conn));
GNUNET_break (0);
PQclear (result);
return GNUNET_SYSERR; return GNUNET_SYSERR;
}
PQclear (result);
result = PQexec (session->conn, result = PQexec (session->conn,
"SET CONSTRAINTS wire_out_ref DEFERRED"); "SET CONSTRAINTS wire_out_ref DEFERRED");
if (PGRES_COMMAND_OK != if (PGRES_COMMAND_OK !=
@ -4875,6 +4868,8 @@ postgres_start_deferred_wire_out (void *cls,
PQerrorMessage (session->conn)); PQerrorMessage (session->conn));
GNUNET_break (0); GNUNET_break (0);
PQclear (result); PQclear (result);
postgres_rollback (cls,
session);
return GNUNET_SYSERR; return GNUNET_SYSERR;
} }
PQclear (result); PQclear (result);