From fa2a789e270a716be8655ce75ba5ed37fba9e09d Mon Sep 17 00:00:00 2001 From: James Addison Date: Thu, 5 Feb 2026 20:48:01 +0000 Subject: [PATCH] Indexing: manage the case where no default-language exists Relates-to commit 6fee784c9fc2bf6ca9428482713347258161e0cc. --- lib-sql/functions/placex_triggers.sql | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lib-sql/functions/placex_triggers.sql b/lib-sql/functions/placex_triggers.sql index e1cfe6b0..319c6b12 100644 --- a/lib-sql/functions/placex_triggers.sql +++ b/lib-sql/functions/placex_triggers.sql @@ -29,7 +29,7 @@ DECLARE location RECORD; result prepare_update_info; extra_names HSTORE; - default_language_key VARCHAR(10); + default_language VARCHAR(10); BEGIN IF not p.address ? '_inherited' THEN result.address := p.address; @@ -87,10 +87,12 @@ BEGIN IF location.name is not NULL THEN {% if debug %}RAISE WARNING 'Names original: %, location: %', result.name, location.name;{% endif %} - -- Merge in a default-language name from the linked place, if none is set - default_language_key := 'name:' || get_country_language_code(location.country_code); - IF NOT location.name ? default_language_key THEN - location.name := location.name || hstore(default_language_key, location.name->'name'); + default_language := get_country_language_code(location.country_code); + IF default_language is NULL OR location.name ? ('name:' || default_language) THEN + -- No default language, or a name in the local language is already configured; do nothing + ELSE + -- Merge in a default-language name from the linked place + location.name := location.name || hstore('name:' || default_language, location.name->'name'); END IF; -- Add all names from the place nodes that deviate from the name