]> git.openstreetmap.org Git - nominatim.git/commitdiff
Merge remote-tracking branch 'upstream/master'
authorSarah Hoffmann <lonvia@denofr.de>
Fri, 24 Jun 2022 19:15:34 +0000 (21:15 +0200)
committerSarah Hoffmann <lonvia@denofr.de>
Fri, 24 Jun 2022 19:15:34 +0000 (21:15 +0200)
1  2 
lib-sql/functions/address_lookup.sql

index 7fb11cfb11ec40ebbccf59eae989fda9203f2085,2bbfcd5c03c6296ff06191a00571c7b11f5da25a..312aa9b2d872dac607cf1276f314bfc1ad58e108
@@@ -231,7 -231,7 +231,7 @@@ BEGI
    FOR location IN
      SELECT placex.place_id, osm_type, osm_id, name, class, type,
             coalesce(extratags->'linked_place', extratags->'place') as place_type,
 -           admin_level, fromarea, isaddress,
 +           admin_level, fromarea, isaddress and linked_place_id is NULL as isaddress,
             CASE WHEN rank_address = 11 THEN 5 ELSE rank_address END as rank_address,
             distance, country_code, postcode
        FROM place_addressline join placex on (address_place_id = placex.place_id)
      location := ROW(null, null, null, hstore('ref', place.postcode), 'place',
                      'postcode', null, null, false, true, 5, 0)::addressline;
      RETURN NEXT location;
+   ELSEIF place.address is not null and place.address ? 'postcode'
+          and not place.address->'postcode' SIMILAR TO '%(,|;)%' THEN
+     location := ROW(null, null, null, hstore('ref', place.address->'postcode'), 'place',
+                     'postcode', null, null, false, true, 5, 0)::addressline;
+     RETURN NEXT location;
    END IF;
  
    RETURN;