X-Git-Url: https://git.openstreetmap.org/nominatim.git/blobdiff_plain/4efad0bb95024e2082f73b4ae33613ef8f6ebef3..17a65d82bb002e482f9aa26d29f9a4ab8e3aeb7c:/lib-sql/functions/placex_triggers.sql diff --git a/lib-sql/functions/placex_triggers.sql b/lib-sql/functions/placex_triggers.sql index 295b838e..a252e9aa 100644 --- a/lib-sql/functions/placex_triggers.sql +++ b/lib-sql/functions/placex_triggers.sql @@ -996,7 +996,7 @@ BEGIN {% if debug %}RAISE WARNING 'finding street for % %', NEW.osm_type, NEW.osm_id;{% endif %} NEW.parent_place_id := null; - is_place_address := coalesce(not NEW.address ? 'street' and NEW.address ? 'place', FALSE); + is_place_address := not token_is_street_address(NEW.token_info); -- We have to find our parent road. NEW.parent_place_id := find_parent_for_poi(NEW.osm_type, NEW.osm_id, @@ -1013,7 +1013,7 @@ BEGIN SELECT p.country_code, p.postcode, p.name FROM placex p WHERE p.place_id = NEW.parent_place_id INTO location; - IF is_place_address THEN + IF is_place_address and NEW.address ? 'place' THEN -- Check if the addr:place tag is part of the parent name SELECT count(*) INTO i FROM svals(location.name) AS pname WHERE pname = NEW.address->'place'; @@ -1120,7 +1120,7 @@ BEGIN 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 + IF NEW.rank_address between 4 and 25 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);