summaryrefslogtreecommitdiff
path: root/src/backenddb/plugin_merchantdb_postgres.c
diff options
context:
space:
mode:
authorJonathan Buchanan <jonathan.russ.buchanan@gmail.com>2020-06-13 02:04:35 -0400
committerJonathan Buchanan <jonathan.russ.buchanan@gmail.com>2020-06-13 02:04:35 -0400
commitf0411396fada5862ce16b56dc57513b9aa79b706 (patch)
treecf5bffc007682d6722ca759040e4d616973f8658 /src/backenddb/plugin_merchantdb_postgres.c
parentae2bfdbeaaa2ef289e79c0b57c428672a8157ff0 (diff)
downloadmerchant-f0411396fada5862ce16b56dc57513b9aa79b706.tar.gz
merchant-f0411396fada5862ce16b56dc57513b9aa79b706.tar.bz2
merchant-f0411396fada5862ce16b56dc57513b9aa79b706.zip
more backenddb tests
Diffstat (limited to 'src/backenddb/plugin_merchantdb_postgres.c')
-rw-r--r--src/backenddb/plugin_merchantdb_postgres.c42
1 files changed, 32 insertions, 10 deletions
diff --git a/src/backenddb/plugin_merchantdb_postgres.c b/src/backenddb/plugin_merchantdb_postgres.c
index 0f338ff1..a6c10413 100644
--- a/src/backenddb/plugin_merchantdb_postgres.c
+++ b/src/backenddb/plugin_merchantdb_postgres.c
@@ -2024,11 +2024,6 @@ postgres_lookup_payment_status (void *cls,
uint8_t paid8;
uint8_t wired8;
enum GNUNET_DB_QueryStatus qs;
- struct GNUNET_PQ_QueryParam params[] = {
- GNUNET_PQ_query_param_uint64 (&order_serial),
- GNUNET_PQ_query_param_string (session_id),
- GNUNET_PQ_query_param_end
- };
struct GNUNET_PQ_ResultSpec rs[] = {
GNUNET_PQ_result_spec_auto_from_type ("paid",
&paid8),
@@ -2036,12 +2031,32 @@ postgres_lookup_payment_status (void *cls,
&wired8),
GNUNET_PQ_result_spec_end
};
-
check_connection (pg);
- qs = GNUNET_PQ_eval_prepared_singleton_select (pg->conn,
- "lookup_payment_status",
- params,
- rs);
+ if (NULL == session_id)
+ {
+ struct GNUNET_PQ_QueryParam params[] = {
+ GNUNET_PQ_query_param_uint64 (&order_serial),
+ GNUNET_PQ_query_param_end
+ };
+
+ qs = GNUNET_PQ_eval_prepared_singleton_select (pg->conn,
+ "lookup_payment_status",
+ params,
+ rs);
+ }
+ else
+ {
+ struct GNUNET_PQ_QueryParam params[] = {
+ GNUNET_PQ_query_param_uint64 (&order_serial),
+ GNUNET_PQ_query_param_string (session_id),
+ GNUNET_PQ_query_param_end
+ };
+
+ qs = GNUNET_PQ_eval_prepared_singleton_select (pg->conn,
+ "lookup_payment_status_session_id",
+ params,
+ rs);
+ }
if (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT == qs)
{
*paid = (0 != paid8);
@@ -6918,6 +6933,13 @@ libtaler_plugin_merchantdb_postgres_init (void *cls)
" wired"
",paid"
" FROM merchant_contract_terms"
+ " WHERE order_serial=$1",
+ 1),
+ GNUNET_PQ_make_prepare ("lookup_payment_status_session_id",
+ "SELECT"
+ " wired"
+ ",paid"
+ " FROM merchant_contract_terms"
" WHERE order_serial=$1"
" AND session_id=$2",
2),