From: Sarah Hoffmann Date: Mon, 2 Jan 2023 16:25:38 +0000 (+0100) Subject: split query that deletes old objects from placex X-Git-Tag: v4.3.0~120^2 X-Git-Url: https://git.openstreetmap.org./nominatim.git/commitdiff_plain/3f38091421a016c693ef69765f4796c26abb9461?ds=inline;hp=--cc split query that deletes old objects from placex placex only has partial indexes over OSM types, so the OSM type needs to be hardcoded to ensure these indexes are used. --- 3f38091421a016c693ef69765f4796c26abb9461 diff --git a/lib-sql/functions/place_triggers.sql b/lib-sql/functions/place_triggers.sql index 489ecb35..6a52021b 100644 --- a/lib-sql/functions/place_triggers.sql +++ b/lib-sql/functions/place_triggers.sql @@ -384,7 +384,19 @@ BEGIN -- Mark for delete in the placex table UPDATE placex SET indexed_status = 100 FROM place_to_be_deleted - WHERE placex.osm_type = place_to_be_deleted.osm_type + WHERE placex.osm_type = 'N' and place_to_be_deleted.osm_type = 'N' + and placex.osm_id = place_to_be_deleted.osm_id + and placex.class = place_to_be_deleted.class + and placex.type = place_to_be_deleted.type + and not deferred; + UPDATE placex SET indexed_status = 100 FROM place_to_be_deleted + WHERE placex.osm_type = 'W' and place_to_be_deleted.osm_type = 'W' + and placex.osm_id = place_to_be_deleted.osm_id + and placex.class = place_to_be_deleted.class + and placex.type = place_to_be_deleted.type + and not deferred; + UPDATE placex SET indexed_status = 100 FROM place_to_be_deleted + WHERE placex.osm_type = 'R' and place_to_be_deleted.osm_type = 'R' and placex.osm_id = place_to_be_deleted.osm_id and placex.class = place_to_be_deleted.class and placex.type = place_to_be_deleted.type