force update on rank30 children when place name changes

Name changes may have an effect on parenting. Don't update
surrounding rank30 objects with addr:place tags as this is
potentially too expensive.
This commit is contained in:
Sarah Hoffmann
2021-09-27 11:04:17 +02:00
parent 316205e455
commit 6d7c067461
2 changed files with 123 additions and 10 deletions

View File

@@ -35,6 +35,7 @@ Feature: Update parenting of objects
| N2 | W3 | 3 |
| N3 | W3 | 3 |
Scenario: Housenumber is reparented when street gets name matching addr:street
Given the grid
| 1 | | | 2 |
@@ -58,3 +59,107 @@ Feature: Update parenting of objects
Then placex contains
| object | parent_place_id |
| N1 | W2 |
Scenario: Housenumber is reparented when street looses name matching addr:street
Given the grid
| 1 | | | 2 |
| | 10 | | |
| | | | |
| 3 | | | 4 |
And the places
| osm | class | type | name | geometry |
| W1 | highway | residential | A street | 1,2 |
| W2 | highway | residential | X street | 3,4 |
And the places
| osm | class | type | housenr | street | geometry |
| N1 | building | yes | 3 | X street | 10 |
When importing
Then placex contains
| object | parent_place_id |
| N1 | W2 |
When updating places
| osm | class | type | name | geometry |
| W2 | highway | residential | B street | 3,4 |
Then placex contains
| object | parent_place_id |
| N1 | W1 |
Scenario: Housenumber is reparented when street gets name matching addr:street
Given the grid
| 1 | | | 2 |
| | 10 | | |
| | | | |
| 3 | | | 4 |
And the places
| osm | class | type | name | geometry |
| W1 | highway | residential | A street | 1,2 |
| W2 | highway | residential | B street | 3,4 |
And the places
| osm | class | type | housenr | street | geometry |
| N1 | building | yes | 3 | X street | 10 |
When importing
Then placex contains
| object | parent_place_id |
| N1 | W1 |
When updating places
| osm | class | type | name | geometry |
| W2 | highway | residential | X street | 3,4 |
Then placex contains
| object | parent_place_id |
| N1 | W2 |
# Invalidation of geometries currently disabled for addr:place matches.
@Fail
Scenario: Housenumber is reparented when place is renamed to matching addr:place
Given the grid
| 1 | | | 2 |
| | 10 | 4 | |
| | | | |
| | | 5 | |
And the places
| osm | class | type | name | geometry |
| W1 | highway | residential | A street | 1,2 |
| N5 | place | village | Bdorf | 5 |
| N4 | place | village | Other | 4 |
And the places
| osm | class | type | housenr | addr_place | geometry |
| N1 | building | yes | 3 | Cdorf | 10 |
When importing
Then placex contains
| object | parent_place_id |
| N1 | N4 |
When updating places
| osm | class | type | name | geometry |
| N5 | place | village | Cdorf | 5 |
Then placex contains
| object | parent_place_id |
| N1 | N5 |
Scenario: Housenumber is reparented when it looses a matching addr:place
Given the grid
| 1 | | | 2 |
| | 10 | 4 | |
| | | | |
| | | 5 | |
And the places
| osm | class | type | name | geometry |
| W1 | highway | residential | A street | 1,2 |
| N5 | place | village | Bdorf | 5 |
| N4 | place | village | Other | 4 |
And the places
| osm | class | type | housenr | addr_place | geometry |
| N1 | building | yes | 3 | Bdorf | 10 |
When importing
Then placex contains
| object | parent_place_id |
| N1 | N5 |
When updating places
| osm | class | type | name | geometry |
| N5 | place | village | Cdorf | 5 |
Then placex contains
| object | parent_place_id |
| N1 | N4 |