gnunet-svn
[Top][All Lists]
Advanced

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

[taler-exchange] 14/15: -fix foreign key constraint issue


From: gnunet
Subject: [taler-exchange] 14/15: -fix foreign key constraint issue
Date: Sun, 27 Nov 2022 22:14:38 +0100

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

grothoff pushed a commit to branch master
in repository exchange.

commit 1cdd999c960a9625e6c71e09c68f86c37f2996e5
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Sun Nov 27 22:00:24 2022 +0100

    -fix foreign key constraint issue
---
 src/exchangedb/pg_do_purse_deposit.c     |  4 ++-
 src/exchangedb/pg_insert_purse_request.c | 62 ++++++++++++++------------------
 src/exchangedb/procedures.sql            |  5 ++-
 3 files changed, 32 insertions(+), 39 deletions(-)

diff --git a/src/exchangedb/pg_do_purse_deposit.c 
b/src/exchangedb/pg_do_purse_deposit.c
index 51d4a371..25496a26 100644
--- a/src/exchangedb/pg_do_purse_deposit.c
+++ b/src/exchangedb/pg_do_purse_deposit.c
@@ -42,7 +42,9 @@ TEH_PG_do_purse_deposit (
   struct GNUNET_TIME_Timestamp reserve_expiration;
   uint64_t partner_id = 0; /* FIXME #7271: WAD support... */
   struct GNUNET_PQ_QueryParam params[] = {
-    GNUNET_PQ_query_param_uint64 (&partner_id),
+    (0 == partner_id)
+    ? GNUNET_PQ_query_param_null ()
+    : GNUNET_PQ_query_param_uint64 (&partner_id),
     GNUNET_PQ_query_param_auto_from_type (purse_pub),
     TALER_PQ_query_param_amount (amount),
     GNUNET_PQ_query_param_auto_from_type (coin_pub),
diff --git a/src/exchangedb/pg_insert_purse_request.c 
b/src/exchangedb/pg_insert_purse_request.c
index 5560bfa9..f42129ec 100644
--- a/src/exchangedb/pg_insert_purse_request.c
+++ b/src/exchangedb/pg_insert_purse_request.c
@@ -63,28 +63,25 @@ TEH_PG_insert_purse_request (
   };
 
   *in_conflict = false;
-
-
-  PREPARE ( pg,
-            "insert_purse_request",
-            "INSERT INTO purse_requests"
-            "  (purse_pub"
-            "  ,merge_pub"
-            "  ,purse_creation"
-            "  ,purse_expiration"
-            "  ,h_contract_terms"
-            "  ,age_limit"
-            "  ,flags"
-            "  ,in_reserve_quota"
-            "  ,amount_with_fee_val"
-            "  ,amount_with_fee_frac"
-            "  ,purse_fee_val"
-
-            "  ,purse_fee_frac"
-            "  ,purse_sig"
-            "  ) VALUES "
-            "  ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13)"
-            "  ON CONFLICT DO NOTHING;");
+  PREPARE (pg,
+           "insert_purse_request",
+           "INSERT INTO purse_requests"
+           "  (purse_pub"
+           "  ,merge_pub"
+           "  ,purse_creation"
+           "  ,purse_expiration"
+           "  ,h_contract_terms"
+           "  ,age_limit"
+           "  ,flags"
+           "  ,in_reserve_quota"
+           "  ,amount_with_fee_val"
+           "  ,amount_with_fee_frac"
+           "  ,purse_fee_val"
+           "  ,purse_fee_frac"
+           "  ,purse_sig"
+           "  ) VALUES "
+           "  ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13)"
+           "  ON CONFLICT DO NOTHING;");
   qs = GNUNET_PQ_eval_prepared_non_select (pg->conn,
                                            "insert_purse_request",
                                            params);
@@ -100,14 +97,14 @@ TEH_PG_insert_purse_request (
     struct TALER_PurseContractSignatureP purse_sig2;
 
     qs = TEH_PG_get_purse_request (pg,
-                                     purse_pub,
-                                     &merge_pub2,
-                                     &purse_expiration2,
-                                     &h_contract_terms2,
-                                     &age_limit2,
-                                     &amount2,
-                                     &balance,
-                                     &purse_sig2);
+                                   purse_pub,
+                                   &merge_pub2,
+                                   &purse_expiration2,
+                                   &h_contract_terms2,
+                                   &age_limit2,
+                                   &amount2,
+                                   &balance,
+                                   &purse_sig2);
     if (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT != qs)
     {
       GNUNET_break (0);
@@ -127,8 +124,3 @@ TEH_PG_insert_purse_request (
     return GNUNET_DB_STATUS_SUCCESS_ONE_RESULT;
   }
 }
-
-
-
-
-
diff --git a/src/exchangedb/procedures.sql b/src/exchangedb/procedures.sql
index 4bd24dde..f0df6444 100644
--- a/src/exchangedb/procedures.sql
+++ b/src/exchangedb/procedures.sql
@@ -1654,7 +1654,7 @@ BEGIN
 
 IF in_partner_url IS NULL
 THEN
-  my_partner_serial_id=0;
+  my_partner_serial_id=NULL;
 ELSE
   SELECT
     partner_serial_id
@@ -1817,7 +1817,6 @@ ELSE
 
 END IF;
 
-
 RETURN;
 
 END $$;
@@ -1851,7 +1850,7 @@ INSERT INTO exchange.purse_merges
     ,merge_sig
     ,merge_timestamp)
   VALUES
-    (0
+    (NULL
     ,in_reserve_pub
     ,in_purse_pub
     ,in_merge_sig

-- 
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]