From 6e1877b142d4819a248b01aebfdd6f337f82a509 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Fri, 3 Sep 2021 09:55:16 +0200 Subject: [PATCH] -implement long-standing aggregation SQL query simplification --- src/exchange/taler-exchange-aggregator.c | 11 ----------- src/exchangedb/plugin_exchangedb_postgres.c | 15 --------------- src/include/taler_exchangedb_plugin.h | 3 --- 3 files changed, 29 deletions(-) diff --git a/src/exchange/taler-exchange-aggregator.c b/src/exchange/taler-exchange-aggregator.c index 6602f3be4..e202290d9 100644 --- a/src/exchange/taler-exchange-aggregator.c +++ b/src/exchange/taler-exchange-aggregator.c @@ -302,8 +302,6 @@ refund_by_coin_cb (void *cls, * * @param cls a `struct AggregationUnit` * @param row_id identifies database entry - * @param exchange_timestamp when did the deposit happen - * @param wallet_timestamp when did the contract happen * @param merchant_pub public key of the merchant * @param coin_pub public key of the coin * @param amount_with_fee amount that was deposited including fee @@ -311,30 +309,21 @@ refund_by_coin_cb (void *cls, * @param h_contract_terms hash of the proposal data known to merchant and customer * @param wire_deadline by which the merchant advised that he would like the * wire transfer to be executed - * @param wire wire details for the merchant * @return transaction status code, #GNUNET_DB_STATUS_SUCCESS_ONE_RESULT to continue to iterate */ static enum GNUNET_DB_QueryStatus deposit_cb (void *cls, uint64_t row_id, - struct GNUNET_TIME_Absolute exchange_timestamp, - struct GNUNET_TIME_Absolute wallet_timestamp, const struct TALER_MerchantPublicKeyP *merchant_pub, const struct TALER_CoinSpendPublicKeyP *coin_pub, const struct TALER_Amount *amount_with_fee, const struct TALER_Amount *deposit_fee, const struct GNUNET_HashCode *h_contract_terms, - struct GNUNET_TIME_Absolute wire_deadline, const json_t *wire) { struct AggregationUnit *au = cls; enum GNUNET_DB_QueryStatus qs; - /* NOTE: potential optimization: use custom SQL API to not - fetch this one: */ - (void) wire_deadline; /* already checked by SQL query */ - (void) exchange_timestamp; - (void) wallet_timestamp; au->merchant_pub = *merchant_pub; GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Aggregator processing payment %s with amount %s\n", diff --git a/src/exchangedb/plugin_exchangedb_postgres.c b/src/exchangedb/plugin_exchangedb_postgres.c index e2a740f1b..ae090baf7 100644 --- a/src/exchangedb/plugin_exchangedb_postgres.c +++ b/src/exchangedb/plugin_exchangedb_postgres.c @@ -951,13 +951,10 @@ prepare_statements (struct PostgresClosure *pg) ",amount_with_fee_frac" ",denom.fee_deposit_val" ",denom.fee_deposit_frac" - ",wire_deadline" ",h_contract_terms" ",wire" ",merchant_pub" ",kc.coin_pub" - ",exchange_timestamp" - ",wallet_timestamp" " FROM deposits" " JOIN known_coins kc USING (known_coin_id)" " JOIN denominations denom USING (denominations_serial)" @@ -4482,9 +4479,6 @@ postgres_get_ready_deposit (void *cls, }; struct TALER_Amount amount_with_fee; struct TALER_Amount deposit_fee; - struct GNUNET_TIME_Absolute wire_deadline; - struct GNUNET_TIME_Absolute wallet_timestamp; - struct GNUNET_TIME_Absolute exchange_timestamp; struct GNUNET_HashCode h_contract_terms; struct TALER_MerchantPublicKeyP merchant_pub; struct TALER_CoinSpendPublicKeyP coin_pub; @@ -4497,12 +4491,6 @@ postgres_get_ready_deposit (void *cls, &amount_with_fee), TALER_PQ_RESULT_SPEC_AMOUNT ("fee_deposit", &deposit_fee), - TALER_PQ_result_spec_absolute_time ("exchange_timestamp", - &exchange_timestamp), - TALER_PQ_result_spec_absolute_time ("wallet_timestamp", - &wallet_timestamp), - TALER_PQ_result_spec_absolute_time ("wire_deadline", - &wire_deadline), GNUNET_PQ_result_spec_auto_from_type ("h_contract_terms", &h_contract_terms), GNUNET_PQ_result_spec_auto_from_type ("merchant_pub", @@ -4530,14 +4518,11 @@ postgres_get_ready_deposit (void *cls, qs = deposit_cb (deposit_cb_cls, serial_id, - exchange_timestamp, - wallet_timestamp, &merchant_pub, &coin_pub, &amount_with_fee, &deposit_fee, &h_contract_terms, - wire_deadline, wire); GNUNET_PQ_cleanup_result (rs); return qs; diff --git a/src/include/taler_exchangedb_plugin.h b/src/include/taler_exchangedb_plugin.h index eac7bf756..2521a1010 100644 --- a/src/include/taler_exchangedb_plugin.h +++ b/src/include/taler_exchangedb_plugin.h @@ -1489,14 +1489,11 @@ typedef enum GNUNET_DB_QueryStatus (*TALER_EXCHANGEDB_DepositIterator)( void *cls, uint64_t rowid, - struct GNUNET_TIME_Absolute exchange_timestamp, - struct GNUNET_TIME_Absolute wallet_timestamp, const struct TALER_MerchantPublicKeyP *merchant_pub, const struct TALER_CoinSpendPublicKeyP *coin_pub, const struct TALER_Amount *amount_with_fee, const struct TALER_Amount *deposit_fee, const struct GNUNET_HashCode *h_contract_terms, - struct GNUNET_TIME_Absolute wire_deadline, const json_t *receiver_wire_account);