X-Git-Url: https://git.openstreetmap.org/nominatim.git/blobdiff_plain/48d4ea5542e2fb68352d33c9ecf7c518d4848ca9..43c2eb383ecd8484783dafff55ed376f5dad13cb:/sql/functions.sql diff --git a/sql/functions.sql b/sql/functions.sql index 024d1caa..b07fe688 100644 --- a/sql/functions.sql +++ b/sql/functions.sql @@ -871,7 +871,11 @@ BEGIN ELSEIF NEW.class = 'place' THEN IF NEW.type in ('continent') THEN NEW.rank_search := 2; - NEW.rank_address := NEW.rank_search; + IF ST_GeometryType(NEW.geometry) IN ('ST_Polygon','ST_MultiPolygon') THEN + NEW.rank_address := NEW.rank_search; + ELSE + NEW.rank_address := 0; + END IF; NEW.country_code := NULL; ELSEIF NEW.type in ('sea') THEN NEW.rank_search := 2; @@ -879,10 +883,18 @@ BEGIN NEW.country_code := NULL; ELSEIF NEW.type in ('country') THEN NEW.rank_search := 4; - NEW.rank_address := NEW.rank_search; + IF ST_GeometryType(NEW.geometry) IN ('ST_Polygon','ST_MultiPolygon') THEN + NEW.rank_address := NEW.rank_search; + ELSE + NEW.rank_address := 0; + END IF; ELSEIF NEW.type in ('state') THEN NEW.rank_search := 8; - NEW.rank_address := NEW.rank_search; + IF ST_GeometryType(NEW.geometry) IN ('ST_Polygon','ST_MultiPolygon') THEN + NEW.rank_address := NEW.rank_search; + ELSE + NEW.rank_address := 0; + END IF; ELSEIF NEW.type in ('region') THEN NEW.rank_search := 18; -- dropped from previous value of 10 NEW.rank_address := 0; -- So badly miss-used that better to just drop it!