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:
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