X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/d1a9dc0f24c9a3a9afbc85a22532b12b05850590..0896c0797290afe8a4a14fa92c3bee66c54771cc:/sql/functions.sql diff --git a/sql/functions.sql b/sql/functions.sql index b2caf0a6..ad2007cb 100644 --- a/sql/functions.sql +++ b/sql/functions.sql @@ -1358,7 +1358,7 @@ BEGIN END LOOP; NEW.importance := null; - SELECT importance, wikipedia + SELECT wikipedia, importance FROM compute_importance(NEW.extratags, NEW.country_code, NEW.osm_type, NEW.osm_id) INTO NEW.wikipedia,NEW.importance; @@ -2622,7 +2622,7 @@ END; $$ LANGUAGE plpgsql IMMUTABLE; -DROP TYPE wikipedia_article_match CASCADE; +DROP TYPE IF EXISTS wikipedia_article_match CASCADE; create type wikipedia_article_match as ( language TEXT, title TEXT, @@ -2692,7 +2692,9 @@ DECLARE match RECORD; result place_importance; BEGIN - FOR match IN SELECT * FROM get_wikipedia_match(extratags, country_code) LOOP + FOR match IN SELECT * FROM get_wikipedia_match(extratags, country_code) + WHERE language is not NULL + LOOP result.importance := match.importance; result.wikipedia := match.language || ':' || match.title; RETURN result; @@ -2701,7 +2703,7 @@ BEGIN IF extratags ? 'wikidata' THEN FOR match IN SELECT * FROM wikipedia_article WHERE wd_page_title = extratags->'wikidata' - ORDER BY importance DESC limit 1 LOOP + ORDER BY language = 'en' DESC, langcount DESC LIMIT 1 LOOP result.importance := match.importance; result.wikipedia := match.language || ':' || match.title; RETURN result;