X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/36b1660121a9261998a2b36cff741587ce5b3c5b..e929693caef46af05ac60bda0debb49a0b522225:/lib-sql/functions/placex_triggers.sql diff --git a/lib-sql/functions/placex_triggers.sql b/lib-sql/functions/placex_triggers.sql index 5d32f496..0f74336f 100644 --- a/lib-sql/functions/placex_triggers.sql +++ b/lib-sql/functions/placex_triggers.sql @@ -718,6 +718,12 @@ BEGIN NEW.country_code := NULL; END IF; + -- Simplify polygons with a very large memory footprint when they + -- do not take part in address computation. + IF NEW.rank_address = 0 THEN + NEW.geometry := simplify_large_polygons(NEW.geometry); + END IF; + END IF; {% if debug %}RAISE WARNING 'placex_insert:END: % % % %',NEW.osm_type,NEW.osm_id,NEW.class,NEW.type;{% endif %} @@ -1259,6 +1265,8 @@ BEGIN END IF; ELSEIF NEW.rank_address > 25 THEN max_rank := 25; + ELSEIF NEW.class in ('place','boundary') and NEW.type in ('postcode','postal_code') THEN + max_rank := NEW.rank_search; ELSE max_rank := NEW.rank_address; END IF;