From 12610e8a8a721902a6275e4a2d121fddde9fc60e Mon Sep 17 00:00:00 2001 From: John Krauss Date: Mon, 25 Apr 2016 17:55:40 -0400 Subject: [PATCH] adjust getmeasure and getcategory to work with json --- src/pg/sql/41_observatory_augmentation.sql | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/pg/sql/41_observatory_augmentation.sql b/src/pg/sql/41_observatory_augmentation.sql index 9267bc6..08b2544 100644 --- a/src/pg/sql/41_observatory_augmentation.sql +++ b/src/pg/sql/41_observatory_augmentation.sql @@ -552,10 +552,9 @@ RETURNS NUMERIC AS $$ DECLARE result NUMERIC; - measure_ids NUMERIC[]; + measure_ids TEXT[]; denominator_id TEXT; - names TEXT[]; - vals TEXT[]; + vals NUMERIC[]; BEGIN IF boundary_id IS NULL THEN @@ -583,9 +582,9 @@ BEGIN END IF; EXECUTE ' - SELECT cdb_observatory._OBS_Get($1, $2, $3, $4)->>''value''::TEXT LIMIT 1 + SELECT ARRAY_AGG(val) FROM (SELECT (cdb_observatory._OBS_Get($1, $2, $3, $4)->>''value'')::NUMERIC val) b ' - INTO names, vals + INTO vals USING geom, measure_ids, time_span, boundary_id; IF normalize ILIKE 'denominator' THEN @@ -593,10 +592,10 @@ BEGIN ELSE RETURN (vals)[1]; END IF; - END; $$ LANGUAGE plpgsql; + CREATE OR REPLACE FUNCTION cdb_observatory.OBS_GetCategory( geom GEOMETRY, category_id TEXT, @@ -606,7 +605,6 @@ CREATE OR REPLACE FUNCTION cdb_observatory.OBS_GetCategory( RETURNS TEXT AS $$ DECLARE - names TEXT[]; denominator_id TEXT; categories TEXT[]; BEGIN @@ -622,9 +620,9 @@ BEGIN END IF; EXECUTE ' - SELECT names, categories FROM cdb_observatory._OBS_GetCategories($1, $2, $3, $4) LIMIT 1 + SELECT ARRAY_AGG(val) FROM (SELECT (cdb_observatory._OBS_GetCategories($1, $2, $3, $4))->>''category'' val LIMIT 1) b ' - INTO names, categories + INTO categories USING geom, ARRAY[category_id], boundary_id, time_span; RETURN (categories)[1];