-- Patch in additional country names
IF NEW.admin_level = 2 AND NEW.type = 'administrative' AND NEW.country_code is not null THEN
- select coalesce(country_name.name || NEW.name,NEW.name) from country_name where country_name.country_code = lower(NEW.country_code) INTO NEW.name;
+ SELECT name FROM country_name WHERE country_code = lower(NEW.country_code) INTO existing;
+ IF existing.name IS NOT NULL THEN
+ NEW.name = existing.name || NEW.name;
+ END IF;
END IF;
-- Have we already done this place?
"""
Then place has no entry for R1
- @wip
Scenario: Type tag is renamed to something unknown
When loading osm data
"""
"""
Then place has no entry for R1
+ Scenario: Country boundary names are left untouched when country_code unknown
+ When loading osm data
+ """
+ n200 Tamenity=prison x0 y0
+ n201 x0 y0.0001
+ n202 x0.0001 y0.0001
+ n203 x0.0001 y0
+ """
+ And updating osm data
+ """
+ w1 Nn200,n201,n202,n203,n200
+ r1 Ttype=boundary,boundary=administrative,name=Foo,country_code=XX,admin_level=2 Mw1@
+ """
+ Then place contains
+ | object | country_code | name |
+ | R1 | XX | 'name' : 'Foo' |
+
+ Scenario: Country boundary names are extended when country_code known
+ When loading osm data
+ """
+ n200 Tamenity=prison x0 y0
+ n201 x0 y0.0001
+ n202 x0.0001 y0.0001
+ n203 x0.0001 y0
+ """
+ And updating osm data
+ """
+ w1 Nn200,n201,n202,n203,n200
+ r1 Ttype=boundary,boundary=administrative,name=Foo,country_code=ch,admin_level=2 Mw1@
+ """
+ Then place contains
+ | object | country_code | name+name:de | name+name |
+ | R1 | ch | Schweiz | Foo |
+