]> git.openstreetmap.org Git - nominatim.git/commitdiff
use bool_or(ST_Intersects) instead of ST_Intersects(ST_Collect)
authorSarah Hoffmann <lonvia@denofr.de>
Fri, 13 Nov 2020 20:34:29 +0000 (21:34 +0100)
committerSarah Hoffmann <lonvia@denofr.de>
Mon, 16 Nov 2020 14:28:01 +0000 (15:28 +0100)
ST_Intersects segfaults on geometry collections for certain versions
of Postgis 3.

sql/partition-functions.src.sql

index 229fe884566a16d79a52a80c02d5113fca7c3e98..1197b3b7337df4cdcbcde5869fbd4d75ec828cd6 100644 (file)
@@ -87,7 +87,7 @@ BEGIN
           AND rank_address between item.from_rank and item.to_rank
           AND word_ids_from_name(item.name) && keywords
         GROUP BY place_id, keywords, rank_address, rank_search, isguess, postcode, centroid
           AND rank_address between item.from_rank and item.to_rank
           AND word_ids_from_name(item.name) && keywords
         GROUP BY place_id, keywords, rank_address, rank_search, isguess, postcode, centroid
-        ORDER BY ST_Intersects(ST_Collect(geometry), feature), distance LIMIT 1;
+        ORDER BY bool_or(ST_Intersects(geometry, feature)), distance LIMIT 1;
       IF r.place_id is null THEN
         -- If we cannot find a place for the term, just return the
         -- search term for the given name. That ensures that the address
       IF r.place_id is null THEN
         -- If we cannot find a place for the term, just return the
         -- search term for the given name. That ensures that the address