]> git.openstreetmap.org Git - nominatim.git/blobdiff - sql/functions.sql
Merge remote-tracking branch 'upstream/master'
[nominatim.git] / sql / functions.sql
index 028a72b4e405eecc7697b0fef032dea245d4ec09..839d086c5b78b0b577d4ed7bd9e3c243a5beec0a 100644 (file)
@@ -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