commit 075d09d93c05e7a0a8963d478d32f14dae6bb98e
parent 41afb315362492bcf0dc81776442e3cbd1202199
Author: Christian Grothoff <christian@grothoff.org>
Date: Mon, 18 Jan 2021 11:31:26 +0100
postgres_insert_pickup must NOT start a transaction, transaction is already part of caller
Diffstat:
2 files changed, 3 insertions(+), 47 deletions(-)
diff --git a/src/backend/taler-merchant-httpd_post-tips-ID-pickup.c b/src/backend/taler-merchant-httpd_post-tips-ID-pickup.c
@@ -800,11 +800,11 @@ RETRY:
}
{
struct GNUNET_CRYPTO_RsaSignature *sigs[GNUNET_NZL (pc->planchets_length)];
+
memset (sigs,
0,
- sizeof (struct GNUNET_CRYPTO_RsaSignature *) * GNUNET_NZL (
- pc->planchets_length));
-
+ sizeof (struct GNUNET_CRYPTO_RsaSignature *)
+ * GNUNET_NZL (pc->planchets_length));
qs = TMH_db->lookup_pickup (TMH_db->cls,
hc->instance->settings.id,
&pc->tip_id,
diff --git a/src/backenddb/plugin_merchantdb_postgres.c b/src/backenddb/plugin_merchantdb_postgres.c
@@ -5870,19 +5870,6 @@ postgres_insert_pickup (void *cls,
{
struct PostgresClosure *pg = cls;
enum GNUNET_DB_QueryStatus qs;
- unsigned int retries = 0;
-
- check_connection (pg);
-RETRY:
- if (MAX_RETRIES < ++retries)
- return GNUNET_DB_STATUS_SOFT_ERROR;
- if (GNUNET_OK !=
- postgres_start (pg,
- "insert pickup"))
- {
- GNUNET_break (0);
- return GNUNET_DB_STATUS_HARD_ERROR;
- }
{
struct GNUNET_PQ_QueryParam params[] = {
@@ -5898,13 +5885,7 @@ RETRY:
"insert_pickup",
params);
if (0 > qs)
- {
- GNUNET_break (GNUNET_DB_STATUS_SOFT_ERROR == qs);
- postgres_rollback (pg);
- if (GNUNET_DB_STATUS_SOFT_ERROR == qs)
- goto RETRY;
return qs;
- }
}
{
@@ -5919,13 +5900,7 @@ RETRY:
"update_picked_up_tip",
params);
if (0 > qs)
- {
- GNUNET_break (GNUNET_DB_STATUS_SOFT_ERROR == qs);
- postgres_rollback (pg);
- if (GNUNET_DB_STATUS_SOFT_ERROR == qs)
- goto RETRY;
return qs;
- }
}
{
uint64_t reserve_serial;
@@ -5950,13 +5925,7 @@ RETRY:
params,
rs);
if (0 > qs)
- {
- GNUNET_break (GNUNET_DB_STATUS_SOFT_ERROR == qs);
- postgres_rollback (pg);
- if (GNUNET_DB_STATUS_SOFT_ERROR == qs)
- goto RETRY;
return qs;
- }
}
if (0 >=
TALER_amount_add (&reserve_picked_up,
@@ -5964,7 +5933,6 @@ RETRY:
total_requested))
{
GNUNET_break (0);
- postgres_rollback (pg);
return GNUNET_DB_STATUS_HARD_ERROR;
}
@@ -5980,21 +5948,9 @@ RETRY:
"update_picked_up_reserve",
params);
if (0 > qs)
- {
- GNUNET_break (GNUNET_DB_STATUS_SOFT_ERROR == qs);
- postgres_rollback (pg);
- if (GNUNET_DB_STATUS_SOFT_ERROR == qs)
- goto RETRY;
return qs;
- }
}
}
- qs = postgres_commit (pg);
- if (GNUNET_DB_STATUS_SUCCESS_NO_RESULTS == qs)
- return GNUNET_DB_STATUS_SUCCESS_ONE_RESULT;
- if (GNUNET_DB_STATUS_SOFT_ERROR == qs)
- goto RETRY;
- GNUNET_break (GNUNET_DB_STATUS_HARD_ERROR != qs);
return qs;
}