aboutsummaryrefslogtreecommitdiff
path: root/src/exchangedb
diff options
context:
space:
mode:
Diffstat (limited to 'src/exchangedb')
-rw-r--r--src/exchangedb/pg_select_purse.c7
-rw-r--r--src/exchangedb/pg_select_purse.h4
2 files changed, 9 insertions, 2 deletions
diff --git a/src/exchangedb/pg_select_purse.c b/src/exchangedb/pg_select_purse.c
index e2a36c33e..9143e8721 100644
--- a/src/exchangedb/pg_select_purse.c
+++ b/src/exchangedb/pg_select_purse.c
@@ -35,7 +35,8 @@ TEH_PG_select_purse (
struct TALER_Amount *amount,
struct TALER_Amount *deposited,
struct TALER_PrivateContractHashP *h_contract_terms,
- struct GNUNET_TIME_Timestamp *merge_timestamp)
+ struct GNUNET_TIME_Timestamp *merge_timestamp,
+ bool *purse_deleted)
{
struct PostgresClosure *pg = cls;
struct GNUNET_PQ_QueryParam params[] = {
@@ -57,6 +58,8 @@ TEH_PG_select_purse (
GNUNET_PQ_result_spec_timestamp ("merge_timestamp",
merge_timestamp),
NULL),
+ GNUNET_PQ_result_spec_bool ("purse_deleted",
+ purse_deleted),
GNUNET_PQ_result_spec_end
};
@@ -72,8 +75,10 @@ TEH_PG_select_purse (
",balance_val"
",balance_frac"
",merge_timestamp"
+ ",purse_sig IS NOT NULL AS purse_deleted"
" FROM purse_requests"
" LEFT JOIN purse_merges USING (purse_pub)"
+ " LEFT JOIN purse_deletion USING (purse_pub)"
" WHERE purse_pub=$1;");
*merge_timestamp = GNUNET_TIME_UNIT_FOREVER_TS;
return GNUNET_PQ_eval_prepared_singleton_select (pg->conn,
diff --git a/src/exchangedb/pg_select_purse.h b/src/exchangedb/pg_select_purse.h
index f522256df..db63f0c90 100644
--- a/src/exchangedb/pg_select_purse.h
+++ b/src/exchangedb/pg_select_purse.h
@@ -37,6 +37,7 @@
* @param[out] deposited set to actual amount put into the purse so far
* @param[out] h_contract_terms set to hash of the contract for the purse
* @param[out] merge_timestamp set to time when the purse was merged, or NEVER if not
+ * @param[out] purse_deleted set to true if purse was deleted
* @return transaction status code
*/
enum GNUNET_DB_QueryStatus
@@ -48,7 +49,8 @@ TEH_PG_select_purse (
struct TALER_Amount *amount,
struct TALER_Amount *deposited,
struct TALER_PrivateContractHashP *h_contract_terms,
- struct GNUNET_TIME_Timestamp *merge_timestamp);
+ struct GNUNET_TIME_Timestamp *merge_timestamp,
+ bool *purse_deleted);
#endif