From: Sarah Hoffmann Date: Mon, 8 Sep 2014 20:27:24 +0000 (+0200) Subject: remove special casing of houses and postcodes in place import X-Git-Tag: v2.3.0~9 X-Git-Url: https://git.openstreetmap.org./nominatim.git/commitdiff_plain/a7d31469675e9bd26cf19fa319da0133de99a822 remove special casing of houses and postcodes in place import --- diff --git a/sql/functions.sql b/sql/functions.sql index a8c5058a..2c415620 100644 --- a/sql/functions.sql +++ b/sql/functions.sql @@ -2090,8 +2090,8 @@ BEGIN -- Handle a place changing type by removing the old data -- 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 - IF existing.osm_type IS NULL AND (NEW.type not in ('postcode','house','houses')) 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'); + 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; END IF; --DEBUG: RAISE WARNING 'Existing: %',existing.osm_id; diff --git a/tests/features/db/update/simple.feature b/tests/features/db/update/simple.feature index 4493bffb..c7874ea0 100644 --- a/tests/features/db/update/simple.feature +++ b/tests/features/db/update/simple.feature @@ -53,3 +53,35 @@ Feature: Update of simple objects When marking for delete R1,W1 Then table placex has no entry for W1 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