mirror of
https://github.com/osm-search/Nominatim.git
synced 2024-11-22 21:28:10 +03:00
Merge pull request #1920 from lonvia/remove-linked-place-when-updating
Remove linked_place from extratags when updating
This commit is contained in:
commit
a163ea63c5
@ -574,6 +574,8 @@ BEGIN
|
||||
where linked_place_id = NEW.place_id;
|
||||
-- update not necessary for osmline, cause linked_place_id does not exist
|
||||
|
||||
NEW.extratags := NEW.extratags - 'linked_place'::TEXT;
|
||||
|
||||
IF NEW.linked_place_id is not null THEN
|
||||
--DEBUG: RAISE WARNING 'place already linked to %', NEW.linked_place_id;
|
||||
RETURN NEW;
|
||||
@ -925,10 +927,14 @@ DECLARE
|
||||
BEGIN
|
||||
-- RAISE WARNING 'placex_delete % %',OLD.osm_type,OLD.osm_id;
|
||||
|
||||
update placex set linked_place_id = null, indexed_status = 2 where linked_place_id = OLD.place_id and indexed_status = 0;
|
||||
--DEBUG: RAISE WARNING 'placex_delete:01 % %',OLD.osm_type,OLD.osm_id;
|
||||
update placex set linked_place_id = null where linked_place_id = OLD.place_id;
|
||||
--DEBUG: RAISE WARNING 'placex_delete:02 % %',OLD.osm_type,OLD.osm_id;
|
||||
IF OLD.linked_place_id is null THEN
|
||||
update placex set linked_place_id = null, indexed_status = 2 where linked_place_id = OLD.place_id and indexed_status = 0;
|
||||
--DEBUG: RAISE WARNING 'placex_delete:01 % %',OLD.osm_type,OLD.osm_id;
|
||||
update placex set linked_place_id = null where linked_place_id = OLD.place_id;
|
||||
--DEBUG: RAISE WARNING 'placex_delete:02 % %',OLD.osm_type,OLD.osm_id;
|
||||
ELSE
|
||||
update placex set indexed_status = 2 where place_id = OLD.linked_place_id and indexed_status = 0;
|
||||
END IF;
|
||||
|
||||
IF OLD.rank_address < 30 THEN
|
||||
|
||||
|
@ -133,3 +133,36 @@ Feature: Updates of linked places
|
||||
| object | extratags |
|
||||
| R1 | 'wikidata' : '34', 'oneway' : 'yes', 'linked_place' : 'city' |
|
||||
|
||||
Scenario: Remove linked_place info when linkee is removed
|
||||
Given the places
|
||||
| osm | class | type | name | geometry |
|
||||
| N1 | place | city | foo | 0 0 |
|
||||
And the places
|
||||
| osm | class | type | name | admin | geometry |
|
||||
| R1 | boundary | administrative | foo | 8 | poly-area:0.1 |
|
||||
When importing
|
||||
Then placex contains
|
||||
| object | extratags |
|
||||
| R1 | 'linked_place' : 'city' |
|
||||
When marking for delete N1
|
||||
Then placex contains
|
||||
| object | extratags |
|
||||
| R1 | |
|
||||
|
||||
Scenario: Update linked_place info when linkee type changes
|
||||
Given the places
|
||||
| osm | class | type | name | geometry |
|
||||
| N1 | place | city | foo | 0 0 |
|
||||
And the places
|
||||
| osm | class | type | name | admin | geometry |
|
||||
| R1 | boundary | administrative | foo | 8 | poly-area:0.1 |
|
||||
When importing
|
||||
Then placex contains
|
||||
| object | extratags |
|
||||
| R1 | 'linked_place' : 'city' |
|
||||
When updating places
|
||||
| osm | class | type | name | geometry |
|
||||
| N1 | place | town | foo | 0 0 |
|
||||
Then placex contains
|
||||
| object | extratags |
|
||||
| R1 | 'linked_place' : 'town' |
|
||||
|
Loading…
Reference in New Issue
Block a user