mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-03-13 06:14:07 +00:00
check for empty relation before linking
Empty relations may indeed appear, if the members of a relation have been deleted but the tags have been retained. That is detected as accidental error and the old geometry is retained in placex while the slim tables contain the new version without members.
This commit is contained in:
@@ -1502,6 +1502,7 @@ BEGIN
|
|||||||
select members from planet_osm_rels where id = NEW.osm_id INTO relation_members;
|
select members from planet_osm_rels where id = NEW.osm_id INTO relation_members;
|
||||||
|
|
||||||
-- RAISE WARNING 'get_osm_rel_members, label';
|
-- RAISE WARNING 'get_osm_rel_members, label';
|
||||||
|
IF relation_members IS NOT NULL THEN
|
||||||
FOR relMember IN select get_osm_rel_members(relation_members,ARRAY['label']) as member LOOP
|
FOR relMember IN select get_osm_rel_members(relation_members,ARRAY['label']) as member LOOP
|
||||||
|
|
||||||
FOR linkedPlacex IN select * from placex where osm_type = upper(substring(relMember.member,1,1))::char(1)
|
FOR linkedPlacex IN select * from placex where osm_type = upper(substring(relMember.member,1,1))::char(1)
|
||||||
@@ -1571,6 +1572,7 @@ BEGIN
|
|||||||
END LOOP;
|
END LOOP;
|
||||||
|
|
||||||
END IF;
|
END IF;
|
||||||
|
END IF;
|
||||||
|
|
||||||
-- not found one yet? how about doing a name search
|
-- not found one yet? how about doing a name search
|
||||||
IF NEW.centroid IS NULL AND (NEW.name->'name') is not null and make_standard_name(NEW.name->'name') != '' THEN
|
IF NEW.centroid IS NULL AND (NEW.name->'name') is not null and make_standard_name(NEW.name->'name') != '' THEN
|
||||||
|
|||||||
Reference in New Issue
Block a user