From 8e697e97b7b6502a823ab7cb805db6662a03d666 Mon Sep 17 00:00:00 2001 From: Regina Obe Date: Sun, 1 Jan 2012 15:22:50 +0000 Subject: [PATCH] #961: ST_AsGeoJSON change to use default args git-svn-id: http://svn.osgeo.org/postgis/trunk@8640 b70326c6-7e19-0410-871a-916f4a2858ee --- doc/reference_output.xml | 64 +++++++---------------------------- postgis/geography.sql.in.c | 38 +++++---------------- postgis/postgis.sql.in.c | 34 ++++--------------- postgis/postgis_drop.sql.in.c | 8 +++++ 4 files changed, 34 insertions(+), 110 deletions(-) diff --git a/doc/reference_output.xml b/doc/reference_output.xml index 50be0baa6..fb7db7c49 100644 --- a/doc/reference_output.xml +++ b/doc/reference_output.xml @@ -243,69 +243,29 @@ CIRCULARSTRING(220268 150415 1,220227 150505 2,220227 150406 3) text ST_AsGeoJSON - geometry g1 - - - text ST_AsGeoJSON - geography g1 - - - text ST_AsGeoJSON - geometry g1 - integer max_decimal_digits - - - text ST_AsGeoJSON - geography g1 - integer max_decimal_digits - - - text ST_AsGeoJSON - geometry g1 - integer max_decimal_digits - integer options - - - text ST_AsGeoJSON - geography g1 - integer max_decimal_digits - integer options - - - text ST_AsGeoJSON - integer version - geometry g1 - - - text ST_AsGeoJSON - integer gj_version - geography g1 - - - text ST_AsGeoJSON - integer gj_version - geometry g1 - integer max_decimal_digits + geometry geom + integer maxdecimaldigits=15 + integer options=0 text ST_AsGeoJSON - integer gj_version - geography g1 - integer max_decimal_digits + geography geog + integer maxdecimaldigits=15 + integer options=0 text ST_AsGeoJSON integer gj_version - geometry g1 - integer max_decimal_digits - integer options + geometry geom + integer maxdecimaldigits=15 + integer options=0 text ST_AsGeoJSON integer gj_version - geography g1 - integer max_decimal_digits - integer options + geography geog + integer maxdecimaldigits=15 + integer options=0 diff --git a/postgis/geography.sql.in.c b/postgis/geography.sql.in.c index 3a88bb436..e2d7d90de 100644 --- a/postgis/geography.sql.in.c +++ b/postgis/geography.sql.in.c @@ -474,47 +474,25 @@ CREATE OR REPLACE FUNCTION _ST_AsGeoJson(int4, geography, int4, int4) AS 'MODULE_PATHNAME','geography_as_geojson' LANGUAGE 'C' IMMUTABLE STRICT; --- ST_AsGeoJson(geography, precision) / version=1 options=0 -CREATE OR REPLACE FUNCTION ST_AsGeoJson(geography, int4) - RETURNS text - AS 'SELECT _ST_AsGeoJson(1, $1, $2, 0)' - LANGUAGE 'SQL' IMMUTABLE STRICT; - --- ST_AsGeoJson(geography) / precision=15 version=1 options=0 -CREATE OR REPLACE FUNCTION ST_AsGeoJson(geography) - RETURNS text - AS 'SELECT _ST_AsGeoJson(1, $1, 15, 0)' - LANGUAGE 'SQL' IMMUTABLE STRICT; - -- Availability: 1.5.0 - this is just a hack to prevent unknown from causing ambiguous name because of geography --- TODO Remove in 2.0 +-- Deprecated in 2.0.0 CREATE OR REPLACE FUNCTION ST_AsGeoJson(text) RETURNS text AS - $$ SELECT ST_AsGeoJson($1::geometry); $$ - LANGUAGE 'SQL' IMMUTABLE STRICT; - --- ST_AsGeoJson(version, geography) / precision=15 options=0 -CREATE OR REPLACE FUNCTION ST_AsGeoJson(int4, geography) - RETURNS text - AS 'SELECT _ST_AsGeoJson($1, $2, 15, 0)' - LANGUAGE 'SQL' IMMUTABLE STRICT; - --- ST_AsGeoJson(version, geography, precision) / options=0 -CREATE OR REPLACE FUNCTION ST_AsGeoJson(int4, geography, int4) - RETURNS text - AS 'SELECT _ST_AsGeoJson($1, $2, $3, 0)' + $$ SELECT _ST_AsGeoJson(1, $1::geometry,15,0); $$ LANGUAGE 'SQL' IMMUTABLE STRICT; -- ST_AsGeoJson(geography, precision, options) / version=1 -CREATE OR REPLACE FUNCTION ST_AsGeoJson(geography, int4, int4) +-- Changed: 2.0.0 to use default args and named args +CREATE OR REPLACE FUNCTION ST_AsGeoJson(geog geography, maxdecimaldigits int4 DEFAULT 15, options int4 DEFAULT 0) RETURNS text - AS 'SELECT _ST_AsGeoJson(1, $1, $2, $3)' + AS $$ SELECT _ST_AsGeoJson(1, $1, $2, $3); $$ LANGUAGE 'SQL' IMMUTABLE STRICT; -- ST_AsGeoJson(version, geography, precision,options) -CREATE OR REPLACE FUNCTION ST_AsGeoJson(int4, geography, int4, int4) +-- Changed: 2.0.0 to use default args and named args +CREATE OR REPLACE FUNCTION ST_AsGeoJson(gj_version int4, geog geography, maxdecimaldigits int4 DEFAULT 15, options int4 DEFAULT 0) RETURNS text - AS 'SELECT _ST_AsGeoJson($1, $2, $3, $4)' + AS $$ SELECT _ST_AsGeoJson($1, $2, $3, $4); $$ LANGUAGE 'SQL' IMMUTABLE STRICT; -- ---------- ---------- ---------- ---------- ---------- ---------- ---------- diff --git a/postgis/postgis.sql.in.c b/postgis/postgis.sql.in.c index 2b6c3cdc3..1acb5f3ed 100644 --- a/postgis/postgis.sql.in.c +++ b/postgis/postgis.sql.in.c @@ -3218,40 +3218,18 @@ CREATE OR REPLACE FUNCTION _ST_AsGeoJson(int4, geometry, int4, int4) AS 'MODULE_PATHNAME','LWGEOM_asGeoJson' LANGUAGE 'C' IMMUTABLE STRICT; --- ST_AsGeoJson(geom, precision) / version=1 options=0 -CREATE OR REPLACE FUNCTION ST_AsGeoJson(geometry, int4) - RETURNS TEXT - AS 'SELECT _ST_AsGeoJson(1, $1, $2, 0)' - LANGUAGE 'SQL' IMMUTABLE STRICT; - --- ST_AsGeoJson(geom) / precision=15 version=1 options=0 -CREATE OR REPLACE FUNCTION ST_AsGeoJson(geometry) - RETURNS TEXT - AS 'SELECT _ST_AsGeoJson(1, $1, 15, 0)' - LANGUAGE 'SQL' IMMUTABLE STRICT; - --- ST_AsGeoJson(version, geom) / precision=15 options=0 -CREATE OR REPLACE FUNCTION ST_AsGeoJson(int4, geometry) - RETURNS TEXT - AS 'SELECT _ST_AsGeoJson($1, $2, 15, 0)' - LANGUAGE 'SQL' IMMUTABLE STRICT; - --- ST_AsGeoJson(version, geom, precision) / options=0 -CREATE OR REPLACE FUNCTION ST_AsGeoJson(int4, geometry, int4) - RETURNS TEXT - AS 'SELECT _ST_AsGeoJson($1, $2, $3, 0)' - LANGUAGE 'SQL' IMMUTABLE STRICT; - -- ST_AsGeoJson(geom, precision, options) / version=1 -CREATE OR REPLACE FUNCTION ST_AsGeoJson(geometry, int4, int4) +-- Changed 2.0.0 to use default args and named args +CREATE OR REPLACE FUNCTION ST_AsGeoJson(geom geometry, maxdecimaldigits int4 DEFAULT 15, options int4 DEFAULT 0) RETURNS TEXT - AS 'SELECT _ST_AsGeoJson(1, $1, $2, $3)' + AS $$ SELECT _ST_AsGeoJson(1, $1, $2, $3); $$ LANGUAGE 'SQL' IMMUTABLE STRICT; -- ST_AsGeoJson(version, geom, precision,options) -CREATE OR REPLACE FUNCTION ST_AsGeoJson(int4, geometry, int4, int4) +-- Changed 2.0.0 to use default args and named args +CREATE OR REPLACE FUNCTION ST_AsGeoJson(gj_version int4, geom geometry, maxdecimaldigits int4 DEFAULT 15, options int4 DEFAULT 0) RETURNS TEXT - AS 'SELECT _ST_AsGeoJson($1, $2, $3, $4)' + AS $$ SELECT _ST_AsGeoJson($1, $2, $3, $4); $$ LANGUAGE 'SQL' IMMUTABLE STRICT; ------------------------------------------------------------------------ diff --git a/postgis/postgis_drop.sql.in.c b/postgis/postgis_drop.sql.in.c index 919f85583..b50e38591 100644 --- a/postgis/postgis_drop.sql.in.c +++ b/postgis/postgis_drop.sql.in.c @@ -27,6 +27,14 @@ DROP FUNCTION IF EXISTS box2d_overlap(box2d, box2d); DROP FUNCTION IF EXISTS box2d_same(box2d, box2d); DROP FUNCTION IF EXISTS box2d_intersects(box2d, box2d); DROP FUNCTION IF EXISTS st_area(geography); -- this one changed to use default parameters +DROP FUNCTION IF EXISTS ST_AsGeoJson(geometry); -- this one changed to use default args +DROP FUNCTION IF EXISTS ST_AsGeoJson(geography); -- this one changed to use default args +DROP FUNCTION IF EXISTS ST_AsGeoJson(geometry,int4); -- this one changed to use default args +DROP FUNCTION IF EXISTS ST_AsGeoJson(geography,int4); -- this one changed to use default args +DROP FUNCTION IF EXISTS ST_AsGeoJson(int4,geometry); -- this one changed to use default args +DROP FUNCTION IF EXISTS ST_AsGeoJson(int4,geography); -- this one changed to use default args +DROP FUNCTION IF EXISTS ST_AsGeoJson(int4,geometry,int4); -- this one changed to use default args +DROP FUNCTION IF EXISTS ST_AsGeoJson(int4,geography,int4); -- this one changed to use default args DROP FUNCTION IF EXISTS st_asgml(geometry); -- changed to use default args DROP FUNCTION IF EXISTS st_asgml(geometry, int4); -- changed to use default args DROP FUNCTION IF EXISTS st_asgml(int4, geometry); -- changed to use default args -- 2.40.0