[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-exchange] 56/130: SQL fixes
From: |
gnunet |
Subject: |
[taler-exchange] 56/130: SQL fixes |
Date: |
Wed, 17 Nov 2021 12:25:04 +0100 |
This is an automated email from the git hooks/post-receive script.
grothoff pushed a commit to branch master
in repository exchange.
commit 1d5edc6882588e10db9cc18c0d0daeb7fedbc5b4
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Sun Oct 31 13:58:20 2021 +0100
SQL fixes
---
src/exchangedb/plugin_exchangedb_postgres.c | 53 ++++++++++++++++++++++-------
1 file changed, 40 insertions(+), 13 deletions(-)
diff --git a/src/exchangedb/plugin_exchangedb_postgres.c
b/src/exchangedb/plugin_exchangedb_postgres.c
index 6eaf3a41..ed63be87 100644
--- a/src/exchangedb/plugin_exchangedb_postgres.c
+++ b/src/exchangedb/plugin_exchangedb_postgres.c
@@ -405,24 +405,23 @@ prepare_statements (struct PostgresClosure *pg)
" wire_target_serial_id=$1",
1),
/* Used in #postgres_inselect_wallet_kyc_status() */
- // FIXME: Note that this statement has not been debugged at all...
- // It just represents the _idea_.
GNUNET_PQ_make_prepare (
- "inselect_wallet_kyc_status",
- "WITH cte AS ("
- " INSERT INTO wire_targets"
+ "insert_kyc_status",
+ "INSERT INTO wire_targets"
" (h_payto"
" ,payto_uri"
" ) VALUES "
" ($1, $2)"
- " ON CONFLICT (wire_target_serial_id) DO NOTHING"
- ") "
+ " RETURNING wire_target_serial_id",
+ 2),
+ GNUNET_PQ_make_prepare (
+ "select_kyc_status_by_payto",
"SELECT "
" kyc_ok"
",wire_target_serial_id"
" FROM wire_targets"
" WHERE h_payto=$1;",
- 2),
+ 1),
/* Used in #reserves_get() */
GNUNET_PQ_make_prepare (
"reserves_get",
@@ -3901,7 +3900,6 @@ inselect_account_kyc_status (
{
struct GNUNET_PQ_QueryParam params[] = {
GNUNET_PQ_query_param_auto_from_type (&h_payto),
- GNUNET_PQ_query_param_string (payto_uri),
GNUNET_PQ_query_param_end
};
uint8_t ok8 = 0;
@@ -3914,10 +3912,36 @@ inselect_account_kyc_status (
};
qs = GNUNET_PQ_eval_prepared_singleton_select (pg->conn,
-
"inselect_wallet_kyc_status",
+
"select_kyc_status_by_payto",
params,
rs);
- kyc->ok = (0 != ok8);
+ if (GNUNET_DB_STATUS_SUCCESS_NO_RESULTS == qs)
+ {
+ struct GNUNET_PQ_QueryParam iparams[] = {
+ GNUNET_PQ_query_param_auto_from_type (&h_payto),
+ GNUNET_PQ_query_param_string (payto_uri),
+ GNUNET_PQ_query_param_end
+ };
+ struct GNUNET_PQ_ResultSpec irs[] = {
+ GNUNET_PQ_result_spec_uint64 ("wire_target_serial_id",
+ &kyc->payment_target_uuid),
+ GNUNET_PQ_result_spec_end
+ };
+
+ qs = GNUNET_PQ_eval_prepared_singleton_select (pg->conn,
+ "insert_kyc_status",
+ iparams,
+ irs);
+ if (qs < 0)
+ return qs;
+ if (GNUNET_DB_STATUS_SUCCESS_NO_RESULTS == qs)
+ return GNUNET_DB_STATUS_SOFT_ERROR;
+ kyc->ok = false;
+ }
+ else
+ {
+ kyc->ok = (0 != ok8);
+ }
}
kyc->type = TALER_EXCHANGEDB_KYC_BALANCE;
return qs;
@@ -4150,15 +4174,18 @@ postgres_reserves_in_insert (void *cls,
struct TALER_EXCHANGEDB_KycStatus kyc;
enum GNUNET_DB_QueryStatus qs3;
+ memset (&kyc,
+ 0,
+ sizeof (kyc));
qs3 = inselect_account_kyc_status (pg,
sender_account_details,
&kyc);
if (qs3 <= 0)
{
- GNUNET_break (GNUNET_DB_STATUS_HARD_ERROR == qs3);
GNUNET_break (GNUNET_DB_STATUS_SOFT_ERROR == qs3);
return qs3;
}
+ GNUNET_assert (0 != kyc.payment_target_uuid);
if (GNUNET_DB_STATUS_SUCCESS_NO_RESULTS == qs1)
{
struct GNUNET_PQ_QueryParam params[] = {
@@ -4968,7 +4995,7 @@ postgres_select_withdraw_amounts_by_account (
qs = GNUNET_PQ_eval_prepared_multi_select (
pg->conn,
- "select_XXX",
+ "select_XXX_FIXME",
params,
&withdraw_amount_by_account_cb,
&wac);
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
- [taler-exchange] 24/130: -fix exchange FTBFS, (continued)
- [taler-exchange] 24/130: -fix exchange FTBFS, gnunet, 2021/11/17
- [taler-exchange] 37/130: -fix test warnings, gnunet, 2021/11/17
- [taler-exchange] 40/130: -fix testing FTBFS, gnunet, 2021/11/17
- [taler-exchange] 15/130: -fix aggregator ftbfs, gnunet, 2021/11/17
- [taler-exchange] 23/130: -work on FTBFS, gnunet, 2021/11/17
- [taler-exchange] 52/130: -fix FTBFS issues, gnunet, 2021/11/17
- [taler-exchange] 42/130: add another amount trait, gnunet, 2021/11/17
- [taler-exchange] 28/130: rename fest, gnunet, 2021/11/17
- [taler-exchange] 45/130: fix SQL, gnunet, 2021/11/17
- [taler-exchange] 48/130: fix more FTBFS issues, gnunet, 2021/11/17
- [taler-exchange] 56/130: SQL fixes,
gnunet <=
- [taler-exchange] 27/130: eliminate HKDF when hashing paytos, gnunet, 2021/11/17
- [taler-exchange] 61/130: -fix, gnunet, 2021/11/17
- [taler-exchange] 16/130: -fix more FTBFS issues, gnunet, 2021/11/17
- [taler-exchange] 18/130: -fix misc FTBFS, gnunet, 2021/11/17
- [taler-exchange] 126/130: -bump version, gnunet, 2021/11/17
- [taler-exchange] 33/130: -work on testing FTBFS, gnunet, 2021/11/17
- [taler-exchange] 68/130: -code cleanup, gnunet, 2021/11/17
- [taler-exchange] 95/130: expose KYC traits for withdraw/get deposits commands, gnunet, 2021/11/17
- [taler-exchange] 111/130: -fixes for test, gnunet, 2021/11/17
- [taler-exchange] 75/130: more RSA abstraction work, gnunet, 2021/11/17