X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/7321e66d0884cc20c03c04e08a0c9d50001620ad..56201feb28d8393f26d683e65a42b4daaea8f895:/lib-sql/functions/placex_triggers.sql?ds=inline diff --git a/lib-sql/functions/placex_triggers.sql b/lib-sql/functions/placex_triggers.sql index 841b7fd6..99eebe12 100644 --- a/lib-sql/functions/placex_triggers.sql +++ b/lib-sql/functions/placex_triggers.sql @@ -2,7 +2,7 @@ -- -- This file is part of Nominatim. (https://nominatim.org) -- --- Copyright (C) 2022 by the Nominatim developer community. +-- Copyright (C) 2024 by the Nominatim developer community. -- For a full list of authors see the git log. -- Trigger functions for the placex table. @@ -678,6 +678,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 %} @@ -794,6 +800,9 @@ BEGIN result := deleteLocationArea(NEW.partition, NEW.place_id, NEW.rank_search); NEW.extratags := NEW.extratags - 'linked_place'::TEXT; + IF NEW.extratags = ''::hstore THEN + NEW.extratags := NULL; + END IF; -- NEW.linked_place_id contains the precomputed linkee. Save this and restore -- the previous link status.