X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/9bdbbec0c8141bdcb22fb562b4e1235dadcc446c..141b32f4192819579adbc1388a90ba92d47485e6:/sql/functions.sql diff --git a/sql/functions.sql b/sql/functions.sql index ae6c73df..33a5e6b9 100644 --- a/sql/functions.sql +++ b/sql/functions.sql @@ -864,6 +864,10 @@ BEGIN SELECT * FROM get_postcode_rank(NEW.country_code, NEW.address->'postcode') INTO NEW.rank_search, NEW.rank_address; + IF NOT ST_GeometryType(NEW.geometry) IN ('ST_Polygon','ST_MultiPolygon') THEN + NEW.rank_address := 0; + END IF; + ELSEIF NEW.class = 'place' THEN IF NEW.type in ('continent') THEN NEW.rank_search := 2; @@ -2457,7 +2461,7 @@ BEGIN select placex.place_id, osm_type, osm_id, name, CASE WHEN extratags ? 'place' THEN 'place' ELSE class END as class, CASE WHEN extratags ? 'place' THEN extratags->'place' ELSE type END as type, - admin_level, fromarea, isaddress, + admin_level, fromarea, isaddress and linked_place_id is NULL as isaddress, CASE WHEN address_place_id = for_place_id AND rank_address = 0 THEN 100 WHEN rank_address = 11 THEN 5 ELSE rank_address END as rank_address, distance,country_code,postcode from place_addressline join placex on (address_place_id = placex.place_id)