return numeric instead of json for obs_getmeasure and obs_getuscensusmeasure

This commit is contained in:
John Krauss
2016-04-22 12:23:14 -04:00
parent 0baa3b4a33
commit 22549206c2
2 changed files with 22 additions and 23 deletions

View File

@@ -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;

View File

@@ -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...