Merge pull request #25 from CartoDB/new_normalize_census_name
New normalize census name
This commit is contained in:
@@ -173,3 +173,23 @@ BEGIN
|
|||||||
return result;
|
return result;
|
||||||
END;
|
END;
|
||||||
$$ LANGUAGE plpgsql;
|
$$ LANGUAGE plpgsql;
|
||||||
|
|
||||||
|
-- Function that replaces all non digits or letters with _ trims and lowercases the
|
||||||
|
-- passed measure name
|
||||||
|
|
||||||
|
CREATE OR REPLACE FUNCTION cdb_observatory._OBS_StandardizeMeasureName(measure_name text)
|
||||||
|
RETURNS text
|
||||||
|
AS $$
|
||||||
|
DECLARE
|
||||||
|
result text;
|
||||||
|
BEGIN
|
||||||
|
-- Turn non letter or digits to _
|
||||||
|
result = regexp_replace(measure_name, '[^\dA-Za-z]+','_', 'g');
|
||||||
|
-- Remove duplicate _'s
|
||||||
|
result = regexp_replace(result,'_{2,}','_', 'g');
|
||||||
|
-- Trim _'s from beginning and end
|
||||||
|
result = trim(both '_' from result);
|
||||||
|
result = lower(result);
|
||||||
|
RETURN result;
|
||||||
|
END;
|
||||||
|
$$ LANGUAGE plpgsql;
|
||||||
|
|||||||
@@ -140,6 +140,13 @@ SELECT cdb_observatory._OBS_GetRelatedColumn(
|
|||||||
{"\"es.ine\".total_pop",NULL,"\"us.census.acs\".B01001001"}
|
{"\"es.ine\".total_pop",NULL,"\"us.census.acs\".B01001001"}
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
|
-- should give back a standardized measure name
|
||||||
|
SELECT cdb_observatory._OBS_StandardizeMeasureName('test 343 %% 2 qqq }}{{}}');
|
||||||
|
_obs_standardizemeasurename
|
||||||
|
-----------------------------
|
||||||
|
test_343_2_qqq
|
||||||
|
(1 row)
|
||||||
|
|
||||||
\i test/sql/drop_fixtures.sql
|
\i test/sql/drop_fixtures.sql
|
||||||
SET client_min_messages TO NOTICE;
|
SET client_min_messages TO NOTICE;
|
||||||
\set ECHO none
|
\set ECHO none
|
||||||
|
|||||||
@@ -84,4 +84,7 @@ SELECT cdb_observatory._OBS_GetRelatedColumn(
|
|||||||
'denominator'
|
'denominator'
|
||||||
);
|
);
|
||||||
|
|
||||||
|
-- should give back a standardized measure name
|
||||||
|
SELECT cdb_observatory._OBS_StandardizeMeasureName('test 343 %% 2 qqq }}{{}}');
|
||||||
|
|
||||||
\i test/sql/drop_fixtures.sql
|
\i test/sql/drop_fixtures.sql
|
||||||
|
|||||||
Reference in New Issue
Block a user