diff options
author | Christian Grothoff <christian@grothoff.org> | 2023-05-27 19:53:04 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2023-05-27 19:53:04 +0200 |
commit | 16a14fc2b1885129144c003c163551e0dbd7d43d (patch) | |
tree | 600b2140e389a99bae81b7d1a7c03f3b952c260c /src/backenddb | |
parent | 1bfaf0a19f664c313e887cc25cfb80891cd66d3a (diff) | |
download | merchant-16a14fc2b1885129144c003c163551e0dbd7d43d.tar.gz merchant-16a14fc2b1885129144c003c163551e0dbd7d43d.tar.bz2 merchant-16a14fc2b1885129144c003c163551e0dbd7d43d.zip |
fix #7846, including adding test
Diffstat (limited to 'src/backenddb')
-rw-r--r-- | src/backenddb/pg_expire_locks.c | 10 | ||||
-rw-r--r-- | src/backenddb/pg_expire_locks.h | 3 | ||||
-rw-r--r-- | src/backenddb/pg_helper.h | 11 | ||||
-rw-r--r-- | src/backenddb/plugin_merchantdb_postgres.c | 11 |
4 files changed, 21 insertions, 14 deletions
diff --git a/src/backenddb/pg_expire_locks.c b/src/backenddb/pg_expire_locks.c index 4b12ba04..7a3c3bac 100644 --- a/src/backenddb/pg_expire_locks.c +++ b/src/backenddb/pg_expire_locks.c @@ -25,7 +25,8 @@ #include "pg_expire_locks.h" #include "pg_helper.h" -void + +enum GNUNET_DB_QueryStatus TMH_PG_expire_locks (void *cls) { struct PostgresClosure *pg = cls; @@ -49,7 +50,7 @@ TMH_PG_expire_locks (void *cls) if (qs1 < 0) { GNUNET_break (0); - return; + return qs1; } PREPARE (pg, "unlock_orders", @@ -61,7 +62,7 @@ TMH_PG_expire_locks (void *cls) if (qs2 < 0) { GNUNET_break (0); - return; + return qs2; } PREPARE (pg, "unlock_contracts", @@ -74,11 +75,12 @@ TMH_PG_expire_locks (void *cls) if (qs3 < 0) { GNUNET_break (0); - return; + return qs3; } GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Released %d+%d+%d locks\n", qs1, qs2, qs3); + return qs1 + qs2 + qs3; } diff --git a/src/backenddb/pg_expire_locks.h b/src/backenddb/pg_expire_locks.h index 6eac73de..55f1ff48 100644 --- a/src/backenddb/pg_expire_locks.h +++ b/src/backenddb/pg_expire_locks.h @@ -31,8 +31,9 @@ * instances. * * @param cls closure + * @return database result code */ -void +enum GNUNET_DB_QueryStatus TMH_PG_expire_locks (void *cls); #endif diff --git a/src/backenddb/pg_helper.h b/src/backenddb/pg_helper.h index 28636577..bb8e7255 100644 --- a/src/backenddb/pg_helper.h +++ b/src/backenddb/pg_helper.h @@ -129,4 +129,15 @@ void check_connection (struct PostgresClosure *pg); +/** + * Do a pre-flight check that we are not in an uncommitted transaction. + * If we are, die. + * Does not return anything, as we will continue regardless of the outcome. + * + * @param cls the `struct PostgresClosure` with the plugin-specific state + */ +void +postgres_preflight (void *cls); + + #endif diff --git a/src/backenddb/plugin_merchantdb_postgres.c b/src/backenddb/plugin_merchantdb_postgres.c index 3dbdae48..35d6f111 100644 --- a/src/backenddb/plugin_merchantdb_postgres.c +++ b/src/backenddb/plugin_merchantdb_postgres.c @@ -208,14 +208,7 @@ postgres_event_notify (void *cls, } -/** - * Do a pre-flight check that we are not in an uncommitted transaction. - * If we are, die. - * Does not return anything, as we will continue regardless of the outcome. - * - * @param cls the `struct PostgresClosure` with the plugin-specific state - */ -static void +void postgres_preflight (void *cls) { struct PostgresClosure *pg = cls; @@ -2377,7 +2370,7 @@ RETRY: GNUNET_PQ_query_param_auto_from_type (reserve_pub), GNUNET_PQ_query_param_auto_from_type (reserve_priv), GNUNET_PQ_query_param_string (exchange_url), - GNUNET_PQ_query_param_auto_from_type (reserve_pub), + GNUNET_PQ_query_param_auto_from_type (master_pub), GNUNET_PQ_query_param_end }; |