From: Sarah Hoffmann Date: Mon, 6 Dec 2021 13:26:08 +0000 (+0100) Subject: ICU: matching any street name will do again X-Git-Tag: v4.1.0~104^2~3 X-Git-Url: https://git.openstreetmap.org./nominatim.git/commitdiff_plain/5e435b41baea139bf64a385f334f85c721503893 ICU: matching any street name will do again --- diff --git a/lib-sql/tokenizer/icu_tokenizer.sql b/lib-sql/tokenizer/icu_tokenizer.sql index 6092319a..547facce 100644 --- a/lib-sql/tokenizer/icu_tokenizer.sql +++ b/lib-sql/tokenizer/icu_tokenizer.sql @@ -51,7 +51,7 @@ $$ LANGUAGE SQL IMMUTABLE; CREATE OR REPLACE FUNCTION token_matches_street(info JSONB, street_tokens INTEGER[]) RETURNS BOOLEAN AS $$ - SELECT (info->>'street')::INTEGER[] <@ street_tokens + SELECT (info->>'street')::INTEGER[] && street_tokens $$ LANGUAGE SQL IMMUTABLE STRICT; diff --git a/test/bdd/.behaverc b/test/bdd/.behaverc index 32aa6dfa..1b426ec9 100644 --- a/test/bdd/.behaverc +++ b/test/bdd/.behaverc @@ -1,3 +1,3 @@ [behave] show_skipped=False -tags=~@Fail +default_tags=~@Fail diff --git a/test/bdd/db/import/parenting.feature b/test/bdd/db/import/parenting.feature index b5210f94..f6d88ca8 100644 --- a/test/bdd/db/import/parenting.feature +++ b/test/bdd/db/import/parenting.feature @@ -87,6 +87,30 @@ Feature: Parenting of objects | N3 | W2 | | N4 | W1 | + @fail-legacy + Scenario: addr:street tag parents to appropriately named street, locale names + Given the scene roads-with-pois + And the places + | osm | class | type | street| addr+street:de | geometry | + | N1 | place | house | south | Süd | :p-N1 | + | N2 | place | house | north | Nord | :p-N2 | + | N3 | place | house | south | Süd | :p-S1 | + | N4 | place | house | north | Nord | :p-S2 | + And the places + | osm | class | type | name | geometry | + | W1 | highway | residential | Nord | :w-north | + | W2 | highway | residential | Süd | :w-south | + And the places + | osm | class | type | name | name+name:old | + | N5 | place | hamlet | south | north | + When importing + Then placex contains + | object | parent_place_id | + | N1 | W2 | + | N2 | W1 | + | N3 | W2 | + | N4 | W1 | + Scenario: addr:street tag parents to next named street Given the scene roads-with-pois And the places diff --git a/test/bdd/environment.py b/test/bdd/environment.py index f179c8f1..2c277165 100644 --- a/test/bdd/environment.py +++ b/test/bdd/environment.py @@ -49,3 +49,9 @@ def before_scenario(context, scenario): def after_scenario(context, scenario): if 'DB' in context.tags: context.nominatim.teardown_db(context) + + +def before_tag(context, tag): + if tag == 'fail-legacy': + if context.config.userdata['TOKENIZER'] in (None, 'legacy'): + context.scenario.skip("Not implemented in legacy tokenizer")