gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-exchange] branch master updated: rewrite query for recoup_by_rese


From: gnunet
Subject: [taler-exchange] branch master updated: rewrite query for recoup_by_reserve
Date: Fri, 04 Mar 2022 13:22:39 +0100

This is an automated email from the git hooks/post-receive script.

marco-boss pushed a commit to branch master
in repository exchange.

The following commit(s) were added to refs/heads/master by this push:
     new f5e1cf5e rewrite query for recoup_by_reserve
f5e1cf5e is described below

commit f5e1cf5e6d597a0d0026941691de3ed1bdc5dbb0
Author: Marco Boss <bossm8@bfh.ch>
AuthorDate: Fri Mar 4 13:22:28 2022 +0100

    rewrite query for recoup_by_reserve
---
 src/exchangedb/plugin_exchangedb_postgres.c | 38 +++++++++++++++--------------
 1 file changed, 20 insertions(+), 18 deletions(-)

diff --git a/src/exchangedb/plugin_exchangedb_postgres.c 
b/src/exchangedb/plugin_exchangedb_postgres.c
index bdb15c4e..754654e3 100644
--- a/src/exchangedb/plugin_exchangedb_postgres.c
+++ b/src/exchangedb/plugin_exchangedb_postgres.c
@@ -1579,27 +1579,29 @@ prepare_statements (struct PostgresClosure *pg)
       " ORDER BY close_uuid ASC;",
       1),
     /* Used in #postgres_get_reserve_history() to obtain recoup transactions
-       for a reserve */
+       for a reserve - query optimization should be disabled i.e.
+       BEGIN; SET LOCAL join_collapse_limit=1; query; COMMIT; */
     GNUNET_PQ_make_prepare (
       "recoup_by_reserve",
-      "SELECT"
-      " coins.coin_pub"
-      ",coin_sig"
-      ",coin_blind"
-      ",amount_val"
-      ",amount_frac"
-      ",recoup_timestamp"
-      ",denoms.denom_pub_hash"
-      ",coins.denom_sig"
-      " FROM reserves"
-      " JOIN reserves_out ro"
-      "   USING (reserve_uuid)"
-      " JOIN recoup"
-      "   USING (reserve_out_serial_id)"
+      "SELECT "
+      "  coins.coin_pub,"
+      "  coin_sig,"
+      "  coin_blind,"
+      "  amount_val,"
+      "  amount_frac,"
+      "  recoup_timestamp,"
+      "  denoms.denom_pub_hash,"
+      "  coins.denom_sig"
+      " FROM denominations denoms"
       " JOIN known_coins coins"
-      "     USING (known_coin_id)"
-      " JOIN denominations denoms"
-      "   ON (coins.denominations_serial = denoms.denominations_serial)"
+      "  ON (coins.denominations_serial = denoms.denominations_serial)"
+      " JOIN recoup"
+      "  USING (known_coin_id)"
+      " JOIN ("
+      "  reserves_out"
+      "   JOIN reserves"
+      "    USING (reserve_uuid)"
+      "  ) USING (reserve_out_serial_id)"
       " WHERE reserve_pub=$1;",
       1),
     /* Used in #postgres_get_coin_transactions() to obtain recoup transactions

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]