]> git.openstreetmap.org Git - nominatim.git/commitdiff
make sure linked places get recomputed when unlinked
authorSarah Hoffmann <lonvia@denofr.de>
Mon, 28 Mar 2016 07:51:29 +0000 (09:51 +0200)
committerSarah Hoffmann <lonvia@denofr.de>
Mon, 28 Mar 2016 07:51:29 +0000 (09:51 +0200)
When linked the place may not be in the search index,
so it must be reindexed when being unlinked. The status
change will only have an effect during the subsequent
update, so change tests to that effect.

sql/functions.sql
tests/features/db/update/linked_places.feature

index 5ec98f205c0e840f8e6f54e242929c1d89a4a47a..b88a7f8121187973c9ea991914d8c43297fd7f92 100644 (file)
@@ -1161,7 +1161,8 @@ BEGIN
     DELETE FROM place_addressline WHERE place_id = NEW.place_id;
     result := deleteRoad(NEW.partition, NEW.place_id);
     result := deleteLocationArea(NEW.partition, NEW.place_id, NEW.rank_search);
     DELETE FROM place_addressline WHERE place_id = NEW.place_id;
     result := deleteRoad(NEW.partition, NEW.place_id);
     result := deleteLocationArea(NEW.partition, NEW.place_id, NEW.rank_search);
-    UPDATE placex set linked_place_id = null where linked_place_id = NEW.place_id;
+    UPDATE placex set linked_place_id = null, indexed_status = 2
+           where linked_place_id = NEW.place_id;
 
     IF NEW.linked_place_id is not null THEN
       RETURN NEW;
 
     IF NEW.linked_place_id is not null THEN
       RETURN NEW;
index 6f80f6801e1b4aeaace8d5ba609e390a65f3b02b..777a02f03854fe9380050da2d0c924b0fd571d60 100644 (file)
@@ -21,6 +21,8 @@ Feature: Updates of linked places
         Then table placex contains
          | object | linked_place_id
          | N1     | None
         Then table placex contains
          | object | linked_place_id
          | N1     | None
+        When updating place areas
+         | osm_type | osm_id | class    | type           | name   | admin_level | geometry
         When sending query "foo" with dups
         Then results contain
          | osm_type
         When sending query "foo" with dups
         Then results contain
          | osm_type
@@ -42,6 +44,8 @@ Feature: Updates of linked places
         Then table placex contains
          | object | linked_place_id
          | N1     | None
         Then table placex contains
          | object | linked_place_id
          | N1     | None
+        When updating place areas
+         | osm_type | osm_id | class    | type           | name   | admin_level | geometry
         And sending query "foo" with dups
         Then results contain
          | osm_type
         And sending query "foo" with dups
         Then results contain
          | osm_type