From d25dc8b0adb8fa606e8f97185984a623c52819cd Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Fri, 23 Jun 2023 11:41:52 +0200 Subject: fix #7870 --- src/exchangedb/exchange_do_batch_reserves_update.sql | 4 +++- src/exchangedb/exchange_do_insert_kyc_attributes.sql | 6 ++++-- src/exchangedb/pg_insert_aml_decision.c | 1 + src/exchangedb/pg_insert_kyc_attributes.c | 8 ++++++++ src/exchangedb/pg_reserves_in_insert.c | 2 ++ 5 files changed, 18 insertions(+), 3 deletions(-) (limited to 'src/exchangedb') diff --git a/src/exchangedb/exchange_do_batch_reserves_update.sql b/src/exchangedb/exchange_do_batch_reserves_update.sql index 82b6b84c1..915d95568 100644 --- a/src/exchangedb/exchange_do_batch_reserves_update.sql +++ b/src/exchangedb/exchange_do_batch_reserves_update.sql @@ -65,7 +65,9 @@ BEGIN ,expiration_date=GREATEST(expiration_date,in_expiration_date) ,gc_date=GREATEST(gc_date,in_expiration_date) WHERE reserve_pub=in_reserve_pub; - PERFORM pg_notify(in_notify, NULL); + EXECUTE FORMAT ( + 'NOTIFY %s' + in_notify); ELSE out_duplicate = TRUE; END IF; diff --git a/src/exchangedb/exchange_do_insert_kyc_attributes.sql b/src/exchangedb/exchange_do_insert_kyc_attributes.sql index f1959a66e..5bb199bb6 100644 --- a/src/exchangedb/exchange_do_insert_kyc_attributes.sql +++ b/src/exchangedb/exchange_do_insert_kyc_attributes.sql @@ -75,8 +75,10 @@ THEN UPDATE SET status=EXCLUDED.status | 1; END IF; --- Wake up everyone who might care... -PERFORM pg_notify (in_kyc_completed_notify_s, NULL); +EXECUTE FORMAT ( + 'NOTIFY %s' + ,in_kyc_completed_notify_s); + INSERT INTO kyc_alerts (h_payto diff --git a/src/exchangedb/pg_insert_aml_decision.c b/src/exchangedb/pg_insert_aml_decision.c index 62645c2a2..fcf67ee46 100644 --- a/src/exchangedb/pg_insert_aml_decision.c +++ b/src/exchangedb/pg_insert_aml_decision.c @@ -89,6 +89,7 @@ TEH_PG_insert_aml_decision ( params, rs); GNUNET_free (notify_s); + GNUNET_PQ_event_do_poll (pg->conn); if (NULL != kyc_s) free (kyc_s); return qs; diff --git a/src/exchangedb/pg_insert_kyc_attributes.c b/src/exchangedb/pg_insert_kyc_attributes.c index 361f491e8..e3c246e5c 100644 --- a/src/exchangedb/pg_insert_kyc_attributes.c +++ b/src/exchangedb/pg_insert_kyc_attributes.c @@ -25,6 +25,9 @@ #include "pg_insert_kyc_attributes.h" #include "pg_helper.h" +void +event_do_poll (struct GNUNET_PQ_Context *db); + enum GNUNET_DB_QueryStatus TEH_PG_insert_kyc_attributes ( @@ -81,6 +84,9 @@ TEH_PG_insert_kyc_attributes ( }; enum GNUNET_DB_QueryStatus qs; + GNUNET_log (GNUNET_ERROR_TYPE_INFO, + "Inserting KYC attributes, wake up on %s\n", + kyc_completed_notify_s); PREPARE (pg, "insert_kyc_attributes", "SELECT " @@ -92,6 +98,8 @@ TEH_PG_insert_kyc_attributes ( params, rs); GNUNET_free (kyc_completed_notify_s); + GNUNET_PQ_event_do_poll (pg->conn); + if (qs < 0) return qs; if (! ok) diff --git a/src/exchangedb/pg_reserves_in_insert.c b/src/exchangedb/pg_reserves_in_insert.c index 72fde7499..7f59826c7 100644 --- a/src/exchangedb/pg_reserves_in_insert.c +++ b/src/exchangedb/pg_reserves_in_insert.c @@ -611,6 +611,7 @@ TEH_PG_reserves_in_insert ( reserves_length, batch_size, results); + GNUNET_PQ_event_do_poll (pg->conn); for (unsigned int i = 0; iconn); for (unsigned int i = 0; i