summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2022-11-27 22:00:24 +0100
committerChristian Grothoff <christian@grothoff.org>2022-11-27 22:00:24 +0100
commit1cdd999c960a9625e6c71e09c68f86c37f2996e5 (patch)
treef6795ff2d65739ecf35c0fc59c039715dd73896d /src
parent68abe6d9fa82009893218f3f71c4ae675d8ea1d0 (diff)
downloadexchange-1cdd999c960a9625e6c71e09c68f86c37f2996e5.tar.gz
exchange-1cdd999c960a9625e6c71e09c68f86c37f2996e5.tar.bz2
exchange-1cdd999c960a9625e6c71e09c68f86c37f2996e5.zip
-fix foreign key constraint issue
Diffstat (limited to 'src')
-rw-r--r--src/exchangedb/pg_do_purse_deposit.c4
-rw-r--r--src/exchangedb/pg_insert_purse_request.c62
-rw-r--r--src/exchangedb/procedures.sql5
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 51d4a3716..25496a262 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 5560bfa94..f42129ec4 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 4bd24dde1..f0df64440 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