force update of surrounding houses when street name changes

When the street changes its name then this may cause changes
in the parenting of rank-30 objects with an addr:street
tag.

Fixes #2242.
This commit is contained in:
Sarah Hoffmann
2021-09-27 10:20:26 +02:00
parent d562f11298
commit 316205e455
2 changed files with 38 additions and 1 deletions

View File

@@ -247,6 +247,7 @@ BEGIN
indexed_status = 2,
geometry = NEW.geometry
where place_id = existingplacex.place_id;
-- if a node(=>house), which is part of a interpolation line, changes (e.g. the street attribute) => mark this line for reparenting
-- (already here, because interpolation lines are reindexed before nodes, so in the second call it would be too late)
IF NEW.osm_type='N'
@@ -270,6 +271,18 @@ BEGIN
and x.class = p.class;
END IF;
-- When streets change their name, the parenting of rank30 objects may change.
IF existingplacex.rank_address between 26 and 27
and coalesce(existing.name::text, '') != coalesce(NEW.name::text, '')
THEN
UPDATE placex SET indexed_status = 2
WHERE indexed_status = 0 and address ? 'street'
and parent_place_id = existingplacex.place_id;
UPDATE placex SET indexed_status = 2
WHERE indexed_status = 0 and rank_search = 30 and address ? 'street'
and ST_DWithin(NEW.geometry, geometry, 0.002);
END IF;
END IF;
-- Abort the add (we modified the existing place instead)