The display name might be mixed up if the result object has a lower
rank_address than its address members.
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));
WHERE isaddress order by rank_address desc
LOOP
currresult := trim(get_name_by_language(location.name, languagepref));