summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2024-01-28 22:25:28 +0100
committerChristian Grothoff <christian@grothoff.org>2024-01-28 22:25:28 +0100
commit56f899e2f4c31157ee1dc59a8a6dc5c3c863f27e (patch)
tree479692de9a0bce6fa0e0de75b4856c8594ace54a
parent915ede9bec0735d3049cbd2689c83f01bc16a7a1 (diff)
downloadmerchant-56f899e2f4c31157ee1dc59a8a6dc5c3c863f27e.tar.gz
merchant-56f899e2f4c31157ee1dc59a8a6dc5c3c863f27e.tar.bz2
merchant-56f899e2f4c31157ee1dc59a8a6dc5c3c863f27e.zip
normalize more when matching
-rw-r--r--src/backenddb/pg_insert_transfer.c2
-rw-r--r--src/backenddb/pg_lookup_account.c3
-rw-r--r--src/backenddb/pg_lookup_transfers.c9
-rw-r--r--src/backenddb/pg_select_account_by_uri.c4
-rw-r--r--src/backenddb/pg_update_wirewatch_progress.c2
5 files changed, 10 insertions, 10 deletions
diff --git a/src/backenddb/pg_insert_transfer.c b/src/backenddb/pg_insert_transfer.c
index f47a6832..60f27cd7 100644
--- a/src/backenddb/pg_insert_transfer.c
+++ b/src/backenddb/pg_insert_transfer.c
@@ -60,7 +60,7 @@ TMH_PG_insert_transfer (
"SELECT"
" $1, $2, $3, account_serial, $5"
" FROM merchant_accounts"
- " WHERE payto_uri=$4"
+ " WHERE SUBSTRING(payto_uri,STRPOS(payto_uri,'?'))=SUBSTRING($4,STRPOS($4,'?'))"
" AND merchant_serial="
" (SELECT merchant_serial"
" FROM merchant_instances"
diff --git a/src/backenddb/pg_lookup_account.c b/src/backenddb/pg_lookup_account.c
index 89058815..a9f92018 100644
--- a/src/backenddb/pg_lookup_account.c
+++ b/src/backenddb/pg_lookup_account.c
@@ -49,12 +49,11 @@ TMH_PG_lookup_account (void *cls,
"SELECT"
" account_serial"
" FROM merchant_accounts"
- " WHERE payto_uri=$2"
+ " WHERE SUBSTRING(payto_uri,STRPOS(payto_uri,'?'))=SUBSTRING($2,STRPOS($2,'?'))"
" AND merchant_serial="
" (SELECT merchant_serial"
" FROM merchant_instances"
" WHERE merchant_id=$1)");
-
return GNUNET_PQ_eval_prepared_singleton_select (pg->conn,
"lookup_account",
params,
diff --git a/src/backenddb/pg_lookup_transfers.c b/src/backenddb/pg_lookup_transfers.c
index 57663729..1455f6be 100644
--- a/src/backenddb/pg_lookup_transfers.c
+++ b/src/backenddb/pg_lookup_transfers.c
@@ -25,6 +25,7 @@
#include "pg_lookup_transfers.h"
#include "pg_helper.h"
+/* FIXME: filter-logic can be written more cleanly, with less duplication! */
/**
* Closure for #lookup_transfers_cb().
@@ -193,7 +194,7 @@ TMH_PG_lookup_transfers (void *cls,
" WHERE execution_time < $2"
" AND execution_time >= $3"
" AND credit_serial > $4"
- " AND payto_uri = $6"
+ " AND SUBSTRING(payto_uri,STRPOS(payto_uri,'?'))=SUBSTRING($6,STRPOS($6,'?'))"
" AND merchant_serial ="
" (SELECT merchant_serial"
" FROM merchant_instances"
@@ -217,7 +218,7 @@ TMH_PG_lookup_transfers (void *cls,
" WHERE execution_time < $2"
" AND execution_time >= $3"
" AND credit_serial < $4"
- " AND payto_uri = $6"
+ " AND SUBSTRING(payto_uri,STRPOS(payto_uri,'?'))=SUBSTRING($6,STRPOS($6,'?'))"
" AND merchant_serial ="
" (SELECT merchant_serial"
" FROM merchant_instances"
@@ -330,7 +331,7 @@ TMH_PG_lookup_transfers (void *cls,
" JOIN merchant_accounts USING (account_serial)"
" LEFT JOIN merchant_transfer_signatures USING (credit_serial)"
" WHERE credit_serial > $2"
- " AND payto_uri = $4"
+ " AND SUBSTRING(payto_uri,STRPOS(payto_uri,'?'))=SUBSTRING($4,STRPOS($4,'?'))"
" AND merchant_serial ="
" (SELECT merchant_serial"
" FROM merchant_instances"
@@ -355,7 +356,7 @@ TMH_PG_lookup_transfers (void *cls,
" JOIN merchant_accounts USING (account_serial)"
" LEFT JOIN merchant_transfer_signatures USING (credit_serial)"
" WHERE credit_serial < $2"
- " AND payto_uri = $4"
+ " AND SUBSTRING(payto_uri,STRPOS(payto_uri,'?'))=SUBSTRING($4,STRPOS($4,'?'))"
" AND merchant_serial ="
" (SELECT merchant_serial"
" FROM merchant_instances"
diff --git a/src/backenddb/pg_select_account_by_uri.c b/src/backenddb/pg_select_account_by_uri.c
index 1faeeb27..bfb1222c 100644
--- a/src/backenddb/pg_select_account_by_uri.c
+++ b/src/backenddb/pg_select_account_by_uri.c
@@ -72,8 +72,8 @@ TMH_PG_select_account_by_uri (void *cls,
" WHERE merchant_serial="
" (SELECT merchant_serial "
" FROM merchant_instances"
- " WHERE merchant_id=$1) AND "
- " payto_uri=$2;");
+ " WHERE merchant_id=$1)"
+ " AND SUBSTRING(payto_uri,STRPOS(payto_uri,'?'))=SUBSTRING($2,STRPOS($2,'?'))");
return GNUNET_PQ_eval_prepared_singleton_select (pg->conn,
"select_account",
params,
diff --git a/src/backenddb/pg_update_wirewatch_progress.c b/src/backenddb/pg_update_wirewatch_progress.c
index 8ffdfe70..9582f72d 100644
--- a/src/backenddb/pg_update_wirewatch_progress.c
+++ b/src/backenddb/pg_update_wirewatch_progress.c
@@ -45,7 +45,7 @@ TMH_PG_update_wirewatch_progress (
"update_wirewatch_progress",
"UPDATE merchant_accounts"
" SET last_bank_serial=$3"
- " WHERE payto_uri=$2"
+ " WHERE SUBSTRING(payto_uri,STRPOS(payto_uri,'?'))=SUBSTRING($2,STRPOS($2,'?'))"
" AND merchant_serial ="
" (SELECT merchant_serial"
" FROM merchant_instances"