Cleans countries in postal codes for extension

This commit is contained in:
Carla Iriberri
2015-11-30 16:06:13 +01:00
parent 65dab2196a
commit 21a893f6ac
@@ -52,7 +52,7 @@ CREATE FUNCTION geocode_postalcode_polygons(code text[], inputcountry text) RETU
WHERE postal_code = upper(d.q) WHERE postal_code = upper(d.q)
AND iso3 = ( AND iso3 = (
SELECT iso3 FROM country_decoder WHERE SELECT iso3 FROM country_decoder WHERE
lower(inputcountry) = ANY (synonyms) LIMIT 1 lower(regexp_replace(inputcountry, '[^a-zA-Z\u00C0-\u00ff]+', '', 'g'))::text = ANY (synonyms) LIMIT 1
) )
) geom ) geom
FROM (SELECT unnest(code) q) d FROM (SELECT unnest(code) q) d
@@ -112,7 +112,7 @@ CREATE FUNCTION geocode_postalcode_points(code text[], inputcountry text) RETURN
WHERE postal_code = upper(d.q) WHERE postal_code = upper(d.q)
AND iso3 = ( AND iso3 = (
SELECT iso3 FROM country_decoder WHERE SELECT iso3 FROM country_decoder WHERE
lower(inputcountry) = ANY (synonyms) LIMIT 1 lower(regexp_replace(inputcountry, '[^a-zA-Z\u00C0-\u00ff]+', '', 'g'))::text = ANY (synonyms) LIMIT 1
) )
LIMIT 1 LIMIT 1
) geom ) geom
@@ -144,7 +144,7 @@ CREATE FUNCTION geocode_postalcode_points(code integer[], inputcountries text[])
WHERE postal_code_num = d.q WHERE postal_code_num = d.q
AND iso3 = ( AND iso3 = (
SELECT iso3 FROM country_decoder WHERE SELECT iso3 FROM country_decoder WHERE
lower(d.c) = ANY (synonyms) LIMIT 1 lower(regexp_replace(d.c, '[^a-zA-Z\u00C0-\u00ff]+', '', 'g'))::text = ANY (synonyms) LIMIT 1
) )
LIMIT 1 LIMIT 1
) geom ) geom
@@ -162,7 +162,7 @@ $$;
CREATE FUNCTION geocode_postalcode_points(code text[]) RETURNS SETOF geocode_namedplace_v1 CREATE FUNCTION geocode_postalcode_points(code text[]) RETURNS SETOF geocode_namedplace_v1
LANGUAGE plpgsql SECURITY DEFINER LANGUAGE plpgsql SECURITY DEFINER
AS $$ AS $$
DECLARE DECLARElower(regexp_replace(inputcountry, '[^a-zA-Z\u00C0-\u00ff]+', '', 'g'))::text
ret geocode_namedplace_v1%rowtype; ret geocode_namedplace_v1%rowtype;
BEGIN BEGIN
FOR ret IN FOR ret IN
@@ -207,7 +207,7 @@ CREATE FUNCTION geocode_postalcode_points(code text[], inputcountries text[]) RE
WHERE postal_code = upper(d.q) WHERE postal_code = upper(d.q)
AND iso3 = ( AND iso3 = (
SELECT iso3 FROM country_decoder WHERE SELECT iso3 FROM country_decoder WHERE
lower(d.c) = ANY (synonyms) LIMIT 1 lower(regexp_replace(d.c, '[^a-zA-Z\u00C0-\u00ff]+', '', 'g'))::text = ANY (synonyms) LIMIT 1
) )
LIMIT 1 LIMIT 1
) geom ) geom