gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-merchant] 01/02: insert_transfer_details is running its own trans


From: gnunet
Subject: [taler-merchant] 01/02: insert_transfer_details is running its own transaction, no need to create an outer transaction for it
Date: Mon, 18 Jan 2021 11:40:43 +0100

This is an automated email from the git hooks/post-receive script.

grothoff pushed a commit to branch master
in repository merchant.

commit d2c40f4e19350efe134aab9be0f8be8f6a5d7bf8
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Mon Jan 18 11:34:55 2021 +0100

    insert_transfer_details is running its own transaction, no need to create 
an outer transaction for it
---
 .../taler-merchant-httpd_private-post-transfers.c  | 60 +++++-----------------
 1 file changed, 13 insertions(+), 47 deletions(-)

diff --git a/src/backend/taler-merchant-httpd_private-post-transfers.c 
b/src/backend/taler-merchant-httpd_private-post-transfers.c
index dda8bf11..80998e85 100644
--- a/src/backend/taler-merchant-httpd_private-post-transfers.c
+++ b/src/backend/taler-merchant-httpd_private-post-transfers.c
@@ -459,61 +459,27 @@ wire_transfer_cb (void *cls,
     return;
   }
 
-  for (unsigned int r = 0; r<MAX_RETRIES; r++)
-  {
-    TMH_db->preflight (TMH_db->cls);
-    if (GNUNET_OK !=
-        TMH_db->start (TMH_db->cls,
-                       "insert transaction details"))
-    {
-      GNUNET_break (0);
-      resume_transfer_with_error (ptc,
-                                  MHD_HTTP_INTERNAL_SERVER_ERROR,
-                                  TALER_EC_GENERIC_DB_START_FAILED,
-                                  NULL);
-      return;
-    }
-    /* Ok, exchange answer is acceptable, store it */
-    qs = TMH_db->insert_transfer_details (TMH_db->cls,
-                                          instance_id,
-                                          ptc->exchange_url,
-                                          ptc->payto_uri,
-                                          &ptc->wtid,
-                                          td);
-    if (0 > qs)
-      goto retry;
-    qs = TMH_db->commit (TMH_db->cls);
-retry:
-    if (GNUNET_DB_STATUS_HARD_ERROR == qs)
-    {
-      TMH_db->rollback (TMH_db->cls);
-      /* Always report on hard error as well to enable diagnostics */
-      GNUNET_break (GNUNET_DB_STATUS_HARD_ERROR == qs);
-      resume_transfer_with_error (
-        ptc,
-        MHD_HTTP_INTERNAL_SERVER_ERROR,
-        TALER_EC_GENERIC_DB_COMMIT_FAILED,
-        NULL);
-      return;
-    }
-    if (0 <= qs)
-      break; /* success! */
-    /* soft failure, rollback and try again */
-    TMH_db->rollback (TMH_db->cls);
-  }
-  if (GNUNET_DB_STATUS_SOFT_ERROR == qs)
+  TMH_db->preflight (TMH_db->cls);
+  /* Ok, exchange answer is acceptable, store it */
+  qs = TMH_db->insert_transfer_details (TMH_db->cls,
+                                        instance_id,
+                                        ptc->exchange_url,
+                                        ptc->payto_uri,
+                                        &ptc->wtid,
+                                        td);
+  if (0 > qs)
   {
-    TMH_db->rollback (TMH_db->cls);
-    /* Always report on hard error as well to enable diagnostics */
+    /* Always report on DB error as well to enable diagnostics */
     GNUNET_break (GNUNET_DB_STATUS_HARD_ERROR == qs);
     resume_transfer_with_error (
       ptc,
       MHD_HTTP_INTERNAL_SERVER_ERROR,
-      TALER_EC_GENERIC_DB_SOFT_FAILURE,
+      (GNUNET_DB_STATUS_HARD_ERROR == qs)
+      ? TALER_EC_GENERIC_DB_COMMIT_FAILED
+      : TALER_EC_GENERIC_DB_SOFT_FAILURE,
       NULL);
     return;
   }
-
   /* resume processing, main function will build the response */
   resume_transfer_with_response (ptc,
                                  0,

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]