]> 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 9a4c630ca14b224729b9de575fbc921080fae1d1..7885d0a960348ac346605a01861a56a7fccd5a13 100644 (file)
@@ -60,14 +60,16 @@ BEGIN
   prevresult := '';
 
   FOR location IN
   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
     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;
       prevresult := currresult;
     END IF;
   END LOOP;