From 505ea0a0431d54dd8be76cb6ca6c7846db04d76f Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Wed, 23 Nov 2022 13:40:07 +0100 Subject: [PATCH] -starting point for Joseph --- src/exchangedb/pg_get_ready_deposit.c | 20 +++-------- src/exchangedb/pg_select_refunds_by_coin.c | 42 +++++++++++++++------- 2 files changed, 33 insertions(+), 29 deletions(-) diff --git a/src/exchangedb/pg_get_ready_deposit.c b/src/exchangedb/pg_get_ready_deposit.c index 741a480d2..af1235293 100644 --- a/src/exchangedb/pg_get_ready_deposit.c +++ b/src/exchangedb/pg_get_ready_deposit.c @@ -28,10 +28,10 @@ enum GNUNET_DB_QueryStatus TEH_PG_get_ready_deposit (void *cls, - uint64_t start_shard_row, - uint64_t end_shard_row, - struct TALER_MerchantPublicKeyP *merchant_pub, - char **payto_uri) + uint64_t start_shard_row, + uint64_t end_shard_row, + struct TALER_MerchantPublicKeyP *merchant_pub, + char **payto_uri) { struct PostgresClosure *pg = cls; struct GNUNET_TIME_Absolute now = {0}; @@ -57,9 +57,6 @@ TEH_PG_get_ready_deposit (void *cls, "Finding ready deposits by deadline %s (%llu)\n", GNUNET_TIME_absolute2s (now), (unsigned long long) now.abs_value_us); - - - /* Used in #postgres_get_ready_deposit() */ PREPARE (pg, "deposits_get_ready", "SELECT" @@ -78,17 +75,8 @@ TEH_PG_get_ready_deposit (void *cls, " dbr.wire_deadline ASC" " ,dbr.shard ASC" " LIMIT 1;"); - - - return GNUNET_PQ_eval_prepared_singleton_select (pg->conn, "deposits_get_ready", params, rs); } - - - - - - diff --git a/src/exchangedb/pg_select_refunds_by_coin.c b/src/exchangedb/pg_select_refunds_by_coin.c index 17885a474..6510ae4a2 100644 --- a/src/exchangedb/pg_select_refunds_by_coin.c +++ b/src/exchangedb/pg_select_refunds_by_coin.c @@ -119,19 +119,35 @@ TEH_PG_select_refunds_by_coin ( .status = GNUNET_OK }; - /* Query the 'refunds' by coin public key */ - /* Query the 'refunds' by coin public key, merchant_pub and contract hash */ - PREPARE (pg, - "get_refunds_by_coin_and_contract", - "SELECT" - " ref.amount_with_fee_val" - ",ref.amount_with_fee_frac" - " FROM refunds ref" - " JOIN deposits dep" - " USING (coin_pub,deposit_serial_id)" - " WHERE ref.coin_pub=$1" - " AND dep.merchant_pub=$2" - " AND dep.h_contract_terms=$3;"); + if (NULL == getenv ("NEW_LOGIC")) + { + PREPARE (pg, + "get_refunds_by_coin_and_contract", + "SELECT" + " ref.amount_with_fee_val" + ",ref.amount_with_fee_frac" + " FROM refunds ref" + " JOIN deposits dep" + " USING (coin_pub,deposit_serial_id)" + " WHERE ref.coin_pub=$1" + " AND dep.merchant_pub=$2" + " AND dep.h_contract_terms=$3;"); + } + else + { + // FIXME-Joseph + PREPARE (pg, + "get_refunds_by_coin_and_contract", + "SELECT" + " ref.amount_with_fee_val" + ",ref.amount_with_fee_frac" + " FROM refunds ref" + " JOIN deposits dep" + " USING (coin_pub,deposit_serial_id)" + " WHERE ref.coin_pub=$1" + " AND dep.merchant_pub=$2" + " AND dep.h_contract_terms=$3;"); + } qs = GNUNET_PQ_eval_prepared_multi_select (pg->conn, "get_refunds_by_coin_and_contract", params,