add testcase for #2551

This test proves that places that are linked need to be reindexed.
This commit is contained in:
Sarah Hoffmann 2022-06-05 21:39:17 +02:00
parent 2c05fc858a
commit 15cf7dd416
2 changed files with 29 additions and 1 deletions

View File

@ -1036,7 +1036,9 @@ BEGIN
|| coalesce(NEW.extratags, ''::hstore);
-- mark the linked place (excludes from search results)
UPDATE placex set linked_place_id = NEW.place_id
-- Force reindexing to remove any traces from the search indexes and
-- reset the address rank if necessary.
UPDATE placex set linked_place_id = NEW.place_id, indexed_status = 2
WHERE place_id = location.place_id;
-- ensure that those places are not found anymore
{% if 'search_name' in db.tables %}

View File

@ -238,3 +238,29 @@ Feature: Updates of linked places
Then placex contains
| object | extratags |
| R1 | 'linked_place' : 'town' |
Scenario: Keep linking and ranks when place type changes
Given the grid
| 1 | | | 2 |
| | | 9 | |
| 4 | | | 3 |
And the places
| osm | class | type | name | admin | geometry |
| R1 | boundary | administrative | foo | 8 | (1,2,3,4,1) |
And the places
| osm | class | type | name | geometry |
| N1 | place | city | foo | 9 |
When importing
Then placex contains
| object | linked_place_id | rank_address |
| N1 | R1 | 16 |
| R1 | - | 16 |
When updating places
| osm | class | type | name | geometry |
| N1 | place | town | foo | 9 |
Then placex contains
| object | linked_place_id | rank_address |
| N1 | R1 | 16 |
| R1 | - | 16 |