donau

Donation authority for GNU Taler (experimental)
Log | Files | Refs | Submodules | README | LICENSE

commit 91f73acdb8c98623e7e74ef42cde26bd2ca98192
parent 443a8181809ac8b0f0683c4828880dc1deefe57c
Author: Casaburi Johannes <johannes.casaburi@students.bfh.ch>
Date:   Tue, 28 May 2024 16:16:21 +0200

work on submit

Diffstat:
Msrc/donaudb/pg_insert_submitted_receipts.c | 21+++++++++++++++++----
Msrc/include/donau_pq_lib.h | 20++++++++++----------
2 files changed, 27 insertions(+), 14 deletions(-)

diff --git a/src/donaudb/pg_insert_submitted_receipts.c b/src/donaudb/pg_insert_submitted_receipts.c @@ -25,6 +25,7 @@ #include "pg_insert_submitted_receipts.h" #include "pg_helper.h" #include "donau_service.h" +#include "donau_pq_lib.h" enum GNUNET_DB_QueryStatus DH_PG_insert_submitted_receipts ( @@ -54,6 +55,16 @@ DH_PG_insert_submitted_receipts ( GNUNET_PQ_query_param_uint64 (&donation_year), GNUNET_PQ_query_param_end }; + + bool *conflicted[GNUNET_NZL (num_dr)]; + struct GNUNET_PQ_ResultSpec rs[] = { + GNUNET_PQ_result_spec_auto_array_from_type (pg->conn, + "conflicted", + &num_dr, + conflicted), + GNUNET_PQ_result_spec_end + }; + enum GNUNET_DB_QueryStatus qs; for (unsigned int i = 0; i < num_dr; i++) @@ -73,11 +84,13 @@ DH_PG_insert_submitted_receipts ( "SELECT " " out_conflict AS conflicted" " FROM do_insert_submitted_receipts" - " ($1,$2,$3,$4,$5);"); + "($1,$2,$3,$4,$5);"); - qs = GNUNET_PQ_eval_prepared_non_select (pg->conn, - "call_insert_submitted_receipts", - params); + qs = GNUNET_PQ_eval_prepared_singleton_select (pg->conn, + "call_insert_submitted_receipts", + params, + rs); GNUNET_PQ_cleanup_query_params_closures (params); + // FIXME check conflicted rs return qs; } diff --git a/src/include/donau_pq_lib.h b/src/include/donau_pq_lib.h @@ -27,24 +27,23 @@ #include "taler/taler_util.h" /** - * Generate query parameter for a denomination public + * Generate query parameter for a donation unit public key * key. Internally, the various attributes of the * public key will be serialized into on variable-size * BLOB. * - * @param denom_pub pointer to the query parameter to pass + * @param donation_unit_pub pointer to the query parameter to pass */ struct GNUNET_PQ_QueryParam DONAU_PQ_query_param_donation_unit_pub ( const struct DONAU_DonationUnitPublicKey *donation_unit_pub); -// TODO: implement /** * Generate query parameter for an array of blinded donation unit signatures * * @param num number of elements in @e du_sigs - * @param du_sigs array of blinded denomination signatures + * @param du_sigs array of blinded donation unit signatures * @param db context for the db-connection */ struct GNUNET_PQ_QueryParam @@ -56,18 +55,18 @@ DONAU_PQ_query_param_array_blinded_donation_unit_sig ( /** - * Denomination public key expected. + * Donation unit public key expected. * * @param name name of the field in the table - * @param[out] denom_pub where to store the public key + * @param[out] donation_unit_pub where to store the public key * @return array entry for the result specification to use */ struct GNUNET_PQ_ResultSpec -DONAU_PQ_result_spec_donation_unit_pub (const char *name, - struct DONAU_DonationUnitPublicKey * - donation_unit_pub); +DONAU_PQ_result_spec_donation_unit_pub ( + const char *name, + struct DONAU_DonationUnitPublicKey *donation_unit_pub); + -// TODO: implement /** * Array of blinded donation unit signature expected * @@ -83,6 +82,7 @@ DONAU_PQ_result_spec_array_blinded_donation_unit_sig ( const char *name, size_t *num, struct DONAU_BlindedDonationUnitSignature **du_sigs); + #endif /* DONAU_PQ_LIB_H_ */ /* end of include/donau_pq_lib.h */ \ No newline at end of file