merchant

Merchant backend to process payments, run by merchants
Log | Files | Refs | Submodules | README | LICENSE

commit 66472c927d16f35b57d3d22d2d64ff6cd1195398
parent 707c726a458fb52fac5ba62d44b77e1ffdd1cd3f
Author: Christian Grothoff <christian@grothoff.org>
Date:   Wed, 27 May 2026 17:21:22 +0200

fix bad LEFT JOIN / COALESCE combination (#10612)

Diffstat:
Msrc/backenddb/lookup_token_family_key.c | 16+++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/src/backenddb/lookup_token_family_key.c b/src/backenddb/lookup_token_family_key.c @@ -50,9 +50,9 @@ TALER_MERCHANTDB_lookup_token_family_key ( PREPARE (pg, "lookup_token_family_key", "SELECT" - " h_pub" - ",pub" - ",priv" + " mtfk.h_pub" + ",mtfk.pub" + ",mtfk.priv" ",cipher_choice" ",mtfk.signature_validity_start" ",mtfk.signature_validity_end" @@ -71,14 +71,16 @@ TALER_MERCHANTDB_lookup_token_family_key ( ",used" " FROM merchant_token_families mtf" " LEFT JOIN merchant_token_family_keys mtfk" - " USING (token_family_serial)" + " ON ( (mtf.token_family_serial = mtfk.token_family_serial)" + " AND ($3 >= mtfk.signature_validity_start)" + " AND ($3 <= mtfk.signature_validity_end)" + " AND ($4 <= mtfk.private_key_deleted_at) )" " JOIN merchant_instances mi" " USING (merchant_serial)" " WHERE mi.merchant_id=$1" " AND slug=$2" - " AND COALESCE ($3 >= mtfk.signature_validity_start, TRUE)" - " AND COALESCE ($3 <= mtfk.signature_validity_end, TRUE)" - " AND COALESCE ($4 <= mtfk.private_key_deleted_at, TRUE)" + " AND ($3 >= valid_after)" + " AND ($3 <= valid_before)" " ORDER BY mtfk.signature_validity_start ASC" " LIMIT 1");