aboutsummaryrefslogtreecommitdiff
path: root/src/exchangedb/plugin_exchangedb_postgres.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/exchangedb/plugin_exchangedb_postgres.c')
-rw-r--r--src/exchangedb/plugin_exchangedb_postgres.c47
1 files changed, 24 insertions, 23 deletions
diff --git a/src/exchangedb/plugin_exchangedb_postgres.c b/src/exchangedb/plugin_exchangedb_postgres.c
index 54bea9af..120f475d 100644
--- a/src/exchangedb/plugin_exchangedb_postgres.c
+++ b/src/exchangedb/plugin_exchangedb_postgres.c
@@ -1678,29 +1678,30 @@ prepare_statements (struct PostgresClosure *pg)
BEGIN; SET LOCAL join_collapse_limit=1; query; COMMIT; */
GNUNET_PQ_make_prepare (
"recoup_by_reserve",
- "SELECT "
- " rc.coin_pub,"
- " rc.coin_sig,"
- " rc.coin_blind,"
- " rc.amount_val,"
- " rc.amount_frac,"
- " rc.recoup_timestamp,"
- " denoms.denom_pub_hash,"
- " coins.denom_sig"
- " FROM reserves res"
- " JOIN reserves_out_by_reserve ror"
- " ON (res.reserve_uuid = ror.reserve_uuid)"
- " JOIN reserves_out ro"
- " ON (ror.h_blind_ev = ro.h_blind_ev)"
- " JOIN recoup_by_reserve rbr"
- " ON (rbr.reserve_out_serial_id = ro.reserve_out_serial_id)"
- " JOIN recoup rc"
- " ON (rbr.coin_pub = rc.coin_pub)"
- " JOIN known_coins coins"
- " ON (rc.coin_pub = coins.coin_pub)"
- " JOIN denominations denoms"
- " ON (coins.denominations_serial = denoms.denominations_serial)"
- " WHERE res.reserve_pub=$1;",
+ "SELECT"
+ " recoup.coin_pub"
+ ",recoup.coin_sig"
+ ",recoup.coin_blind"
+ ",recoup.amount_val"
+ ",recoup.amount_frac"
+ ",recoup.recoup_timestamp"
+ ",denominations.denom_pub_hash"
+ ",known_coins.denom_sig"
+ " FROM denominations"
+ " JOIN (known_coins"
+ " JOIN recoup "
+ " ON (recoup.coin_pub = known_coins.coin_pub))"
+ " ON (known_coins.denominations_serial = denominations.denominations_serial)"
+ " WHERE recoup.coin_pub"
+ " IN (SELECT coin_pub"
+ " FROM recoup_by_reserve"
+ " JOIN (reserves_out"
+ " JOIN (reserves_out_by_reserve"
+ " JOIN reserves"
+ " ON (reserves.reserve_uuid = reserves_out_by_reserve.reserve_uuid))"
+ " ON (reserves_out_by_reserve.h_blind_ev = reserves_out.h_blind_ev))"
+ " ON (recoup_by_reserve.reserve_out_serial_id = reserves_out.reserve_out_serial_id)"
+ " WHERE reserves.reserve_pub=$1);",
1),
/* Used in #postgres_get_coin_transactions() to obtain recoup transactions
affecting old coins of refreshed coins */