X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/616d96bf9cf48b1cc61c902d79fa85fdc977970a..33f7bba69858405517c68a4aaf609ce69e00e277:/sql/functions.sql

diff --git a/sql/functions.sql b/sql/functions.sql
index 028a72b4..839d086c 100644
--- a/sql/functions.sql
+++ b/sql/functions.sql
@@ -2068,6 +2068,8 @@ BEGIN
 
   -- Just block these - lots and pointless
   IF NEW.class in ('landuse','natural') and NEW.name is null THEN
+    -- if the name tag was removed, older versions might still be lurking in the place table
+    DELETE FROM place where osm_type = NEW.osm_type and osm_id = NEW.osm_id and class = NEW.class and type = NEW.type;
     RETURN null;
   END IF;
 
@@ -2115,7 +2117,7 @@ BEGIN
 
   -- To paraphrase, if there isn't an existing item, OR if the admin level has changed
   IF existingplacex.osm_type IS NULL OR
-     coalesce(existingplacex.admin_level, 15) != coalesce(NEW.admin_level, 15)
+    (coalesce(existingplacex.admin_level, 15) != coalesce(NEW.admin_level, 15) AND existingplacex.class = 'boundary' AND existingplacex.type = 'administrative')
   THEN
 
     IF existingplacex.osm_type IS NOT NULL THEN
