adding standardizemeasurename
This commit is contained in:
parent
06232b235a
commit
6fd8a43e44
@ -173,3 +173,23 @@ BEGIN
|
||||
return result;
|
||||
END;
|
||||
$$ 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,11 @@ SELECT cdb_observatory._OBS_GetRelatedColumn(
|
||||
{"\"es.ine\".total_pop",NULL,"\"us.census.acs\".B01001001"}
|
||||
(1 row)
|
||||
|
||||
_obs_standardizemeasurename
|
||||
-----------------------------
|
||||
test_343_2_qqq
|
||||
(1 row)
|
||||
|
||||
\i test/sql/drop_fixtures.sql
|
||||
SET client_min_messages TO NOTICE;
|
||||
\set ECHO none
|
||||
|
@ -84,4 +84,7 @@ SELECT cdb_observatory._OBS_GetRelatedColumn(
|
||||
'denominator'
|
||||
);
|
||||
|
||||
-- should give back a standardized measure name
|
||||
SELECT cdb_observatory._OBS_StandardizeMeasureName('test 343 %% 2 qqq }}{{}}');
|
||||
|
||||
\i test/sql/drop_fixtures.sql
|
||||
|
Loading…
Reference in New Issue
Block a user