summaryrefslogtreecommitdiff
path: root/src/exchangedb/pg_select_purse.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/exchangedb/pg_select_purse.c')
-rw-r--r--src/exchangedb/pg_select_purse.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/exchangedb/pg_select_purse.c b/src/exchangedb/pg_select_purse.c
index 6496d4a28..ffccb905c 100644
--- a/src/exchangedb/pg_select_purse.c
+++ b/src/exchangedb/pg_select_purse.c
@@ -36,7 +36,8 @@ TEH_PG_select_purse (
struct TALER_Amount *deposited,
struct TALER_PrivateContractHashP *h_contract_terms,
struct GNUNET_TIME_Timestamp *merge_timestamp,
- bool *purse_deleted)
+ bool *purse_deleted,
+ bool *purse_refunded)
{
struct PostgresClosure *pg = cls;
struct GNUNET_PQ_QueryParam params[] = {
@@ -60,6 +61,10 @@ TEH_PG_select_purse (
NULL),
GNUNET_PQ_result_spec_bool ("purse_deleted",
purse_deleted),
+ GNUNET_PQ_result_spec_allow_null (
+ GNUNET_PQ_result_spec_bool ("purse_refunded",
+ purse_refunded),
+ NULL),
GNUNET_PQ_result_spec_end
};
@@ -70,17 +75,18 @@ TEH_PG_select_purse (
",pr.purse_creation"
",pr.purse_expiration"
",pr.h_contract_terms"
- ",pr.amount_with_fee_val"
- ",pr.amount_with_fee_frac"
- ",pr.balance_val"
- ",pr.balance_frac"
+ ",pr.amount_with_fee"
+ ",pr.balance"
",pm.merge_timestamp"
",pd.purse_sig IS NOT NULL AS purse_deleted"
+ ",pc.refunded AS purse_refunded"
" FROM purse_requests pr"
" LEFT JOIN purse_merges pm ON (pm.purse_pub = pr.purse_pub)"
+ " LEFT JOIN purse_decision pc ON (pc.purse_pub = pr.purse_pub)"
" LEFT JOIN purse_deletion pd ON (pd.purse_pub = pr.purse_pub)"
" WHERE pr.purse_pub=$1;");
*merge_timestamp = GNUNET_TIME_UNIT_FOREVER_TS;
+ *purse_refunded = false;
return GNUNET_PQ_eval_prepared_singleton_select (pg->conn,
"select_purse",
params,