From 077f8fedf5623143715f7be7fc05504779388156 Mon Sep 17 00:00:00 2001 From: Carla Iriberri Date: Tue, 19 Apr 2016 17:31:08 +0200 Subject: [PATCH] Wrap functions in row_to_json --- src/pg/sql/41_observatory_augmentation.sql | 20 +++++++++++++++++-- .../sql/41_observatory_augmentation_test.sql | 6 +++--- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/src/pg/sql/41_observatory_augmentation.sql b/src/pg/sql/41_observatory_augmentation.sql index e16213d..2eec6f0 100644 --- a/src/pg/sql/41_observatory_augmentation.sql +++ b/src/pg/sql/41_observatory_augmentation.sql @@ -22,7 +22,15 @@ -- Creates a table of demographic snapshot -CREATE OR REPLACE FUNCTION cdb_observatory.OBS_GetDemographicSnapshot(geom geometry, time_span text default '2009 - 2013', geometry_level text default '"us.census.tiger".block_group' ) +CREATE OR REPLACE FUNCTION cdb_observatory.OBS_GetDemographicSnapshot(geom geometry, time_span text default '2009 - 2013', geometry_level text default '"us.census.tiger".block_group') +RETURNS json +AS $$ + BEGIN + RETURN row_to_json(cdb_observatory._OBS_GetDemographicSnapshot(geom, time_span, geometry_level)); +END; +$$ LANGUAGE plpgsql; + +CREATE OR REPLACE FUNCTION cdb_observatory._OBS_GetDemographicSnapshot(geom geometry, time_span text default '2009 - 2013', geometry_level text default '"us.census.tiger".block_group' ) RETURNS TABLE( total_pop NUMERIC, male_pop NUMERIC, @@ -454,7 +462,15 @@ BEGIN END; $$ LANGUAGE plpgsql; -CREATE OR REPLACE FUNCTION OBS_GetSegmentSnapshot( +CREATE OR REPLACE FUNCTION OBS_GetSegmentSnapshot(geom geometry, geometry_level text default '"us.census.tiger".census_tract') +RETURNS json +AS $$ + BEGIN + RETURN row_to_json(cdb_observatory._OBS_GetSegmentSnapshot(geom, geometry_level)); +END; +$$ LANGUAGE plpgsql; + +CREATE OR REPLACE FUNCTION _OBS_GetSegmentSnapshot( geom geometry, geometry_level text DEFAULT '"us.census.tiger".census_tract' ) diff --git a/src/pg/test/sql/41_observatory_augmentation_test.sql b/src/pg/test/sql/41_observatory_augmentation_test.sql index a69d620..4eacbe1 100644 --- a/src/pg/test/sql/41_observatory_augmentation_test.sql +++ b/src/pg/test/sql/41_observatory_augmentation_test.sql @@ -1,7 +1,7 @@ \i test/sql/load_fixtures.sql -- SELECT * FROM - cdb_observatory.OBS_GetDemographicSnapshot( + cdb_observatory._OBS_GetDemographicSnapshot( cdb_observatory._TestPoint(), '2009 - 2013', '"us.census.tiger".block_group' @@ -99,14 +99,14 @@ SELECT ); SELECT * FROM - cdb_observatory.OBS_GetSegmentSnapshot( + cdb_observatory._OBS_GetSegmentSnapshot( cdb_observatory._TestPoint(), '"us.census.tiger".census_tract' ); -- segmentation around null island SELECT * FROM - cdb_observatory.OBS_GetSegmentSnapshot( + cdb_observatory._OBS_GetSegmentSnapshot( CDB_LatLng(0, 0), '"us.census.tiger".census_tract' );