-- 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;
-- 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