drop interpolations when no parent can be found

A housenumber without the place it refers to is of only limited use.
This commit is contained in:
Sarah Hoffmann
2024-05-14 11:35:14 +02:00
parent 7f0d969d71
commit 01f0f453dd
4 changed files with 111 additions and 7 deletions

View File

@@ -67,10 +67,6 @@ BEGIN
END LOOP;
END IF;
IF parent_place_id is null THEN
RETURN 0;
END IF;
RETURN parent_place_id;
END;
$$
@@ -183,6 +179,13 @@ BEGIN
ST_PointOnSurface(NEW.linegeo),
NEW.linegeo);
-- Cannot find a parent street. We will not be able to display a reliable
-- address, so drop entire interpolation.
IF NEW.parent_place_id is NULL THEN
DELETE FROM location_property_osmline where place_id = OLD.place_id;
RETURN NULL;
END IF;
NEW.token_info := token_strip_info(NEW.token_info);
IF NEW.address ? '_inherited' THEN
NEW.address := hstore('interpolation', NEW.address->'interpolation');