+ ELSE
+ -- No linked place? As a last resort check if the boundary is tagged with
+ -- a place type and adapt the rank address.
+ IF NEW.rank_address > 0 and NEW.extratags ? 'place' THEN
+ SELECT address_rank INTO place_address_level
+ FROM compute_place_rank(NEW.country_code, 'A', 'place',
+ NEW.extratags->'place', 0::SMALLINT, False, null);
+ IF place_address_level > parent_address_level and
+ place_address_level < 26 THEN
+ NEW.rank_address := place_address_level;
+ END IF;
+ END IF;