]> git.openstreetmap.org Git - nominatim.git/commitdiff
ICU: matching any street name will do again
authorSarah Hoffmann <lonvia@denofr.de>
Mon, 6 Dec 2021 13:26:08 +0000 (14:26 +0100)
committerSarah Hoffmann <lonvia@denofr.de>
Mon, 6 Dec 2021 13:26:08 +0000 (14:26 +0100)
lib-sql/tokenizer/icu_tokenizer.sql
test/bdd/.behaverc
test/bdd/db/import/parenting.feature
test/bdd/environment.py

index 6092319a0578d338915b6890902d71df7ec90b1f..547facce1572f367d2f7164ad94ddeddad929074 100644 (file)
@@ -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;
 
 
index 32aa6dfa79d1f9010d1dad29b47fbfcd98ca681f..1b426ec9451185bb2a106b95fdcdb7d5be73fe6a 100644 (file)
@@ -1,3 +1,3 @@
 [behave]
 show_skipped=False
-tags=~@Fail
+default_tags=~@Fail
index b5210f9439b55a5f328d28f0141ac695629a6334..f6d88ca8e11f2c55bfa4a310e5fb067e1bc148db 100644 (file)
@@ -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
index f179c8f13da343283b0aaf4deb855587a471cd6f..2c27716586fd1752730421c8e043ab8b1b4aced3 100644 (file)
@@ -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")