]> git.openstreetmap.org Git - nominatim.git/blobdiff - sql/functions/address_lookup.sql
Merge pull request #1770 from lonvia/eyusupov-separate-compilation
[nominatim.git] / sql / functions / address_lookup.sql
index ec323b6e9028e79903faf57a6541dc3fa9692c10..7885d0a960348ac346605a01861a56a7fccd5a13 100644 (file)
@@ -60,14 +60,16 @@ BEGIN
   prevresult := '';
 
   FOR location IN
-    SELECT * FROM get_addressdata(for_place_id, housenumber)
+    SELECT name,
+       CASE WHEN place_id = for_place_id THEN 99 ELSE rank_address END as rank_address
+    FROM get_addressdata(for_place_id, housenumber)
     WHERE isaddress order by rank_address desc
   LOOP
     currresult := trim(get_name_by_language(location.name, languagepref));
     IF currresult != prevresult AND currresult IS NOT NULL
        AND result[(100 - location.rank_address)] IS NULL
     THEN
-      result[(100 - location.rank_address)] := trim(get_name_by_language(location.name, languagepref));
+      result[(100 - location.rank_address)] := currresult;
       prevresult := currresult;
     END IF;
   END LOOP;
@@ -277,7 +279,7 @@ BEGIN
 
   IF searchpostcode IS NOT NULL THEN
     location := ROW(null, null, null, hstore('ref', searchpostcode), 'place',
-                    'postcodes', null, null, false, true, 5, 0)::addressline;
+                    'postcode', null, null, false, true, 5, 0)::addressline;
     RETURN NEXT location;
   END IF;