diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/exchangedb/plugin_exchangedb_postgres.c | 21 | 
1 files changed, 8 insertions, 13 deletions
| diff --git a/src/exchangedb/plugin_exchangedb_postgres.c b/src/exchangedb/plugin_exchangedb_postgres.c index d6a9b283..6c633055 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); | 
