From a51517f64c83c23545ebd8a935baa311f0de635a Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Wed, 2 Nov 2022 17:51:42 +0100 Subject: -implement missing functions --- src/auditordb/pg_get_purse_summary.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'src/auditordb/pg_get_purse_summary.c') diff --git a/src/auditordb/pg_get_purse_summary.c b/src/auditordb/pg_get_purse_summary.c index 5a5e087d..1c5e8a36 100644 --- a/src/auditordb/pg_get_purse_summary.c +++ b/src/auditordb/pg_get_purse_summary.c @@ -25,9 +25,35 @@ #include "pg_get_purse_summary.h" #include "pg_helper.h" + enum GNUNET_DB_QueryStatus TAH_PG_get_purse_summary (void *cls, const struct TALER_MasterPublicKeyP *master_pub, struct TALER_AUDITORDB_PurseBalance *sum) { + struct PostgresClosure *pg = cls; + struct GNUNET_PQ_QueryParam params[] = { + GNUNET_PQ_query_param_auto_from_type (master_pub), + GNUNET_PQ_query_param_end + }; + struct GNUNET_PQ_ResultSpec rs[] = { + TALER_PQ_RESULT_SPEC_AMOUNT ("balance", + &sum->balance), + GNUNET_PQ_result_spec_uint64 ("open_purses", + &sum->open_purses), + GNUNET_PQ_result_spec_end + }; + + PREPARE (pg, + "auditor_get_purse_summary", + "SELECT" + " open_purses" + ",balance_val" + ",balance_frac" + " FROM auditor_purse_summary" + " WHERE master_pub=$1;"); + return GNUNET_PQ_eval_prepared_singleton_select (pg->conn, + "auditor_get_purse_summary", + params, + rs); } -- cgit v1.2.3