[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.
- [taler-exchange] branch master updated (95149f34 -> 07b4b1aa), gnunet, 2022/11/27
- [taler-exchange] 01/15: -remove shard support, gnunet, 2022/11/27
- [taler-exchange] 08/15: more work on SQL refactoring, gnunet, 2022/11/27
- [taler-exchange] 07/15: more work on SQL refactoring, gnunet, 2022/11/27
- [taler-exchange] 02/15: intermediate step in major SQL refactoring (not done at all), gnunet, 2022/11/27
- [taler-exchange] 03/15: more sql refactoring, gnunet, 2022/11/27
- [taler-exchange] 04/15: more work on SQL refactoring, gnunet, 2022/11/27
- [taler-exchange] 10/15: more work on SQL refactoring, gnunet, 2022/11/27
- [taler-exchange] 06/15: more work on SQL refactoring, gnunet, 2022/11/27
- [taler-exchange] 15/15: handle partner_serial_id being NULL, gnunet, 2022/11/27
- [taler-exchange] 14/15: -fix foreign key constraint issue,
gnunet <=
- [taler-exchange] 13/15: -constraint no longer holds, gnunet, 2022/11/27
- [taler-exchange] 05/15: more work on SQL refactoring, gnunet, 2022/11/27
- [taler-exchange] 09/15: more sql refactoring, gnunet, 2022/11/27
- [taler-exchange] 11/15: -db tests pass again, gnunet, 2022/11/27
- [taler-exchange] 12/15: -cleanup, gnunet, 2022/11/27