X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/b86d5c6a42624708af4e57121caf5cc02241544f..d76eca32f4c96f5725877aec555c7352a8452ba2:/sql/functions.sql

diff --git a/sql/functions.sql b/sql/functions.sql
index aa2a8908..dfb64634 100644
--- a/sql/functions.sql
+++ b/sql/functions.sql
@@ -1209,7 +1209,13 @@ BEGIN
     END IF;
     IF diameter > 0 THEN
 --      RAISE WARNING 'placex point insert: % % % % %',NEW.osm_type,NEW.osm_id,NEW.class,NEW.type,diameter;
-      update placex set indexed_status = 2 where indexed_status = 0 and rank_search > NEW.rank_search and ST_DWithin(placex.geometry, NEW.geometry, diameter) and (rank_search < 28 or name is not null);
+      IF NEW.rank_search >= 26 THEN
+        -- roads may cause reparenting for >27 rank places
+        update placex set indexed_status = 2 where indexed_status = 0 and rank_search > NEW.rank_search and ST_DWithin(placex.geometry, NEW.geometry, diameter);
+      ELSE
+        -- for all other places the search terms may change as well
+        update placex set indexed_status = 2 where indexed_status = 0 and rank_search > NEW.rank_search and ST_DWithin(placex.geometry, NEW.geometry, diameter) and (rank_search < 28 or name is not null);
+      END IF;
     END IF;
 
   END IF;
