remove special casing of houses and postcodes in place import

This commit is contained in:
Sarah Hoffmann
2014-09-08 22:27:24 +02:00
parent f94ee6ad57
commit a7d3146967
2 changed files with 34 additions and 2 deletions

View File

@@ -2090,8 +2090,8 @@ BEGIN
-- Handle a place changing type by removing the old data -- Handle a place changing type by removing the old data
-- My generated 'place' types are causing havok because they overlap with real keys -- My generated 'place' types are causing havok because they overlap with real keys
-- TODO: move them to their own special purpose key/class to avoid collisions -- TODO: move them to their own special purpose key/class to avoid collisions
IF existing.osm_type IS NULL AND (NEW.type not in ('postcode','house','houses')) THEN IF existing.osm_type IS NULL THEN
DELETE FROM place where osm_type = NEW.osm_type and osm_id = NEW.osm_id and class = NEW.class and type not in ('postcode','house','houses'); DELETE FROM place where osm_type = NEW.osm_type and osm_id = NEW.osm_id and class = NEW.class;
END IF; END IF;
--DEBUG: RAISE WARNING 'Existing: %',existing.osm_id; --DEBUG: RAISE WARNING 'Existing: %',existing.osm_id;

View File

@@ -53,3 +53,35 @@ Feature: Update of simple objects
When marking for delete R1,W1 When marking for delete R1,W1
Then table placex has no entry for W1 Then table placex has no entry for W1
Then table placex has no entry for R1 Then table placex has no entry for R1
Scenario: type mutation
Given the place nodes
| osm_id | class | type | geometry
| 3 | shop | toys | 1 -1
When importing
Then table placex contains
| object | class | type
| N3 | shop | toys
When updating place nodes
| osm_id | class | type | geometry
| 3 | shop | grocery | 1 -1
Then table placex contains
| object | class | type
| N3 | shop | grocery
Scenario: remove postcode place when house number is added
Given the place nodes
| osm_id | class | type | postcode | geometry
| 3 | place | postcode | 12345 | 1 -1
When importing
Then table placex contains
| object | class | type
| N3 | place | postcode
When updating place nodes
| osm_id | class | type | postcode | housenumber | geometry
| 3 | place | house | 12345 | 13 | 1 -1
Then table placex contains
| object | class | type
| N3 | place | house