From 25d1606fb0ef6e0001476a3574b63b7a8e05b391 Mon Sep 17 00:00:00 2001 From: Stefan Koelle Date: Wed, 5 Aug 2026 22:56:54 +0200 Subject: [PATCH] web dashboard special links fix 3 --- src/db.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/db.py b/src/db.py index 23f69d3..6be6db8 100644 --- a/src/db.py +++ b/src/db.py @@ -165,10 +165,13 @@ def search_contacts_without_photo(conn, account: str | None) -> list[dict]: {op} given_name IS NOT NULL AND given_name != '' AND family_name IS NOT NULL AND family_name != '' AND photo_base64 IS NULL AND photo_url IS NULL - AND JSON_SEARCH(addresses, 'one', %s, NULL, '$[*].city') IS NOT NULL + AND EXISTS ( + SELECT 1 FROM JSON_TABLE(addresses, '$[*]' COLUMNS (city VARCHAR(255) PATH '$.city')) AS addr + WHERE addr.city IS NOT NULL AND addr.city != '' + ) AND family_name != 'X' ORDER BY full_name""", - params + ['%'], + params, ) return cur.fetchall() @@ -184,10 +187,13 @@ def search_contacts_without_city(conn, account: str | None) -> list[dict]: {op} given_name IS NOT NULL AND given_name != '' AND family_name IS NOT NULL AND family_name != '' AND (JSON_LENGTH(phones) > 0 OR JSON_LENGTH(emails) > 0) - AND (JSON_LENGTH(addresses) = 0 OR JSON_SEARCH(addresses, 'one', %s, NULL, '$[*].city') IS NULL) + AND NOT EXISTS ( + SELECT 1 FROM JSON_TABLE(addresses, '$[*]' COLUMNS (city VARCHAR(255) PATH '$.city')) AS addr + WHERE addr.city IS NOT NULL AND addr.city != '' + ) AND family_name != 'X' ORDER BY full_name""", - params + ['%'], + params, ) return cur.fetchall()