From 22549206c23034296351ee90fa9d7d105e8838d8 Mon Sep 17 00:00:00 2001 From: John Krauss Date: Fri, 22 Apr 2016 12:23:14 -0400 Subject: [PATCH] return numeric instead of json for obs_getmeasure and obs_getuscensusmeasure --- src/pg/sql/41_observatory_augmentation.sql | 9 +++-- .../41_observatory_augmentation_test.out | 36 +++++++++---------- 2 files changed, 22 insertions(+), 23 deletions(-) diff --git a/src/pg/sql/41_observatory_augmentation.sql b/src/pg/sql/41_observatory_augmentation.sql index 2257245..db79064 100644 --- a/src/pg/sql/41_observatory_augmentation.sql +++ b/src/pg/sql/41_observatory_augmentation.sql @@ -408,7 +408,7 @@ CREATE OR REPLACE FUNCTION cdb_observatory.OBS_GetMeasure( boundary_id TEXT DEFAULT NULL, time_span TEXT DEFAULT NULL ) -RETURNS JSON +RETURNS NUMERIC AS $$ DECLARE names TEXT[]; @@ -448,10 +448,9 @@ BEGIN USING geom, measure_ids, time_span, boundary_id; IF normalize ILIKE 'denominator' THEN - RETURN json_build_object('name', format('%I over %I', names[1], names[2]), - 'value', vals[1]/ vals[2]); + RETURN (vals)[1]/(vals)[2]; ELSE - RETURN json_build_object('name', (names)[1], 'value', (vals)[1]); + RETURN (vals)[1]; END IF; END; @@ -464,7 +463,7 @@ CREATE OR REPLACE FUNCTION cdb_observatory.OBS_GetUSCensusMeasure( boundary_id TEXT DEFAULT NULL, time_span TEXT DEFAULT NULL ) -RETURNS JSON AS $$ +RETURNS NUMERIC AS $$ DECLARE standardized_name text; measure_id text; diff --git a/src/pg/test/expected/41_observatory_augmentation_test.out b/src/pg/test/expected/41_observatory_augmentation_test.out index 418e6a7..2267cd1 100644 --- a/src/pg/test/expected/41_observatory_augmentation_test.out +++ b/src/pg/test/expected/41_observatory_augmentation_test.out @@ -95,24 +95,24 @@ Done. {X10} | (1 row) - obs_getmeasure ----------------------------------------------------- - {"name" : "total_pop", "value" : 9516.27915900609} + obs_getmeasure +------------------ + 9516.27915900609 (1 row) - obs_getmeasure ----------------------------------------- - {"name" : "total_pop", "value" : 1655} + obs_getmeasure +---------------- + 1655 (1 row) - obs_getmeasure ------------------------------------------------------------------------- - {"name" : "male_pop over total_pop", "value" : 0.64652567975830779836} + obs_getmeasure +------------------------ + 0.64652567975830779836 (1 row) - obs_getmeasure ------------------------------------------------------------------------- - {"name" : "male_pop over total_pop", "value" : 0.64652567975830815710} + obs_getmeasure +------------------------ + 0.64652567975830815710 (1 row) obs_getpopulation @@ -125,14 +125,14 @@ Done. 1655 (1 row) - obs_getuscensusmeasure ---------------------------------------------------- - {"name" : "male_pop", "value" : 6152.51885204623} + obs_getuscensusmeasure +------------------------ + 6152.51885204623 (1 row) - obs_getuscensusmeasure ---------------------------------------- - {"name" : "male_pop", "value" : 1070} + obs_getuscensusmeasure +------------------------ + 1070 (1 row) Dropping obs_table.sql fixture table...