mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-03-10 12:04:06 +00:00
@@ -2200,7 +2200,9 @@ BEGIN
|
|||||||
|
|
||||||
-- To paraphrase, if there isn't an existing item, OR if the admin level has changed
|
-- To paraphrase, if there isn't an existing item, OR if the admin level has changed
|
||||||
IF existingplacex.osm_type IS NULL OR
|
IF existingplacex.osm_type IS NULL OR
|
||||||
(coalesce(existingplacex.admin_level, 15) != coalesce(NEW.admin_level, 15) AND existingplacex.class = 'boundary' AND existingplacex.type = 'administrative')
|
(existingplacex.class = 'boundary' AND
|
||||||
|
((coalesce(existingplacex.admin_level, 15) != coalesce(NEW.admin_level, 15) AND existingplacex.type = 'administrative') OR
|
||||||
|
(existingplacex.type != NEW.type)))
|
||||||
THEN
|
THEN
|
||||||
|
|
||||||
IF existingplacex.osm_type IS NOT NULL THEN
|
IF existingplacex.osm_type IS NOT NULL THEN
|
||||||
|
|||||||
@@ -85,3 +85,22 @@ Feature: Update of simple objects
|
|||||||
| osm | class | type | name | admin | geometry |
|
| osm | class | type | name | admin | geometry |
|
||||||
| W1 | boundary | administrative | Haha | 5 | 1, 2, 4, 3 |
|
| W1 | boundary | administrative | Haha | 5 | 1, 2, 4, 3 |
|
||||||
Then placex has no entry for W1
|
Then placex has no entry for W1
|
||||||
|
|
||||||
|
#895
|
||||||
|
Scenario: update rank when boundary is downgraded from admin to historic
|
||||||
|
Given the grid
|
||||||
|
| 1 | 2 |
|
||||||
|
| 3 | 4 |
|
||||||
|
And the places
|
||||||
|
| osm | class | type | name | admin | geometry |
|
||||||
|
| W1 | boundary | administrative | Haha | 5 | (1, 2, 4, 3, 1) |
|
||||||
|
When importing
|
||||||
|
Then placex contains
|
||||||
|
| object | rank_address |
|
||||||
|
| W1 | 10 |
|
||||||
|
When updating places
|
||||||
|
| osm | class | type | name | admin | geometry |
|
||||||
|
| W1 | boundary | historic | Haha | 5 | (1, 2, 4, 3, 1) |
|
||||||
|
Then placex contains
|
||||||
|
| object | rank_address |
|
||||||
|
| W1 | 0 |
|
||||||
|
|||||||
Reference in New Issue
Block a user