diff options
Diffstat (limited to 'src/exchangedb/pg_insert_refund.c')
-rw-r--r-- | src/exchangedb/pg_insert_refund.c | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/src/exchangedb/pg_insert_refund.c b/src/exchangedb/pg_insert_refund.c index 047df0334..e989c91bc 100644 --- a/src/exchangedb/pg_insert_refund.c +++ b/src/exchangedb/pg_insert_refund.c @@ -1,6 +1,6 @@ /* This file is part of TALER - Copyright (C) 2022 Taler Systems SA + Copyright (C) 2022-2023 Taler Systems SA TALER is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software @@ -28,7 +28,7 @@ enum GNUNET_DB_QueryStatus TEH_PG_insert_refund (void *cls, - const struct TALER_EXCHANGEDB_Refund *refund) + const struct TALER_EXCHANGEDB_Refund *refund) { struct PostgresClosure *pg = cls; struct GNUNET_PQ_QueryParam params[] = { @@ -37,26 +37,25 @@ TEH_PG_insert_refund (void *cls, GNUNET_PQ_query_param_auto_from_type (&refund->details.merchant_sig), GNUNET_PQ_query_param_auto_from_type (&refund->details.h_contract_terms), GNUNET_PQ_query_param_uint64 (&refund->details.rtransaction_id), - TALER_PQ_query_param_amount (&refund->details.refund_amount), + TALER_PQ_query_param_amount (pg->conn, + &refund->details.refund_amount), GNUNET_PQ_query_param_end }; GNUNET_assert (GNUNET_YES == TALER_amount_cmp_currency (&refund->details.refund_amount, &refund->details.refund_fee)); - - /* Used in #postgres_insert_refund() to store refund information */ PREPARE (pg, "insert_refund", "INSERT INTO refunds " - "(coin_pub " - ",deposit_serial_id" - ",merchant_sig " - ",rtransaction_id " - ",amount_with_fee_val " - ",amount_with_fee_frac " - ") SELECT $1, deposit_serial_id, $3, $5, $6, $7" - " FROM deposits" + "(coin_pub" + ",batch_deposit_serial_id" + ",merchant_sig" + ",rtransaction_id" + ",amount_with_fee" + ") SELECT $1, cdep.batch_deposit_serial_id, $3, $5, $6" + " FROM coin_deposits cdep" + " JOIN batch_deposits bdep USING (batch_deposit_serial_id)" " WHERE coin_pub=$1" " AND h_contract_terms=$4" " AND merchant_pub=$2"); |