From: Regina Obe Date: Sun, 1 Jan 2012 01:26:38 +0000 (+0000) Subject: #961: Change ST_AsGML to use default args X-Git-Tag: 2.0.0alpha1~246 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6ea56faa020429287c66bda6bf5f7c27125bbf0e;p=postgis #961: Change ST_AsGML to use default args git-svn-id: http://svn.osgeo.org/postgis/trunk@8629 b70326c6-7e19-0410-871a-916f4a2858ee --- diff --git a/doc/reference_output.xml b/doc/reference_output.xml index 452f7faa1..40628bd0b 100644 --- a/doc/reference_output.xml +++ b/doc/reference_output.xml @@ -390,92 +390,33 @@ st_asgeojson text ST_AsGML - geometry g1 - - - text ST_AsGML - geography g1 - - - text ST_AsGML - geometry g1 - integer precision - - - text ST_AsGML - geography g1 - integer precision - - - text ST_AsGML - geometry g1 - integer precision - integer options - - - text ST_AsGML - geography g1 - integer precision - integer options - - - text ST_AsGML - integer version - geometry g1 - - - text ST_AsGML - integer version - geography g1 - - - text ST_AsGML - integer version - geometry g1 - integer precision - - - text ST_AsGML - integer version - geography g1 - integer precision + geometry geom + integer maxdecimaldigits=15 + integer options=0 text ST_AsGML - integer version - geometry g1 - integer precision - integer options + geography geog + integer maxdecimaldigits=15 + integer options=0 + text ST_AsGML integer version geometry g1 - integer precision - integer options - text namespace prefix - - - text ST_AsGML - integer version - geography g1 - integer precision - integer options - - - text ST_AsGML - integer version - geography g1 - integer precision - integer options + integer maxdecimaldigits=15 + integer options=0 + text nprefix=null + text ST_AsGML integer version - geography g1 - integer precision - integer options - text namespace prefix + geography geog + integer maxdecimaldigits=15 + integer options=0 + text nprefix=null @@ -486,7 +427,7 @@ st_asgeojson Return the geometry as a Geography Markup Language (GML) element. The version parameter, if specified, may be either 2 or 3. If no version parameter is specified then the default is assumed to be 2. The precision argument - may be used to reduce the maximum number of decimal places + may be used to reduce the maximum number of decimal places (maxdecimaldigits) used in output (defaults to 15). GML 2 refer to 2.1.2 version, GML 3 to 3.1.1 version The 'options' argument is a bitfield. It could be used to define CRS output type @@ -527,9 +468,8 @@ namespace prefix or no prefix (if empty). If null or omitted 'gml' prefix is use Availability: 1.3.2 Availability: 1.5.0 geography support was introduced. Enhanced: 2.0.0 prefix support was introduced. Option 4 for GML3 was introduced to allow using LineString instead of Curve tag for lines. GML3 Support for Polyhedral surfaces and TINS was introduced. Option 32 was introduced to output the box. + Changed: 2.0.0 use default named args - - Only version 3+ of ST_AsGML supports Polyhedral Surfaces and TINS. &Z_support; &P_support; diff --git a/postgis/geography.sql.in.c b/postgis/geography.sql.in.c index 9018cddf1..ae7182440 100644 --- a/postgis/geography.sql.in.c +++ b/postgis/geography.sql.in.c @@ -410,57 +410,29 @@ CREATE OR REPLACE FUNCTION _ST_AsGML(int4, geography, int4, int4, text) AS 'MODULE_PATHNAME','geography_as_gml' LANGUAGE 'C' IMMUTABLE; --- ST_AsGML(geography, precision) / version=2 options=0 -CREATE OR REPLACE FUNCTION ST_AsGML(geography, int4) - RETURNS text - AS 'SELECT _ST_AsGML(2, $1, $2, 0, null)' - LANGUAGE 'SQL' IMMUTABLE STRICT; - --- ST_AsGML(geography) / precision=15 version=2 options=0 -CREATE OR REPLACE FUNCTION ST_AsGML(geography) - RETURNS text - AS 'SELECT _ST_AsGML(2, $1, 15, 0, null)' - LANGUAGE 'SQL' IMMUTABLE; - -- Availability: 1.5.0 - this is just a hack to prevent unknown from causing ambiguous name because of geography +-- Change 2.0.0 to use base function -- TODO Remove in 2.0 CREATE OR REPLACE FUNCTION ST_AsGML(text) RETURNS text AS - $$ SELECT ST_AsGML($1::geometry); $$ - LANGUAGE 'SQL' IMMUTABLE STRICT; - --- ST_AsGML(version, geography) / precision=15 version=2 options=0 -CREATE OR REPLACE FUNCTION ST_AsGML(int4, geography) - RETURNS text - AS 'SELECT _ST_AsGML($1, $2, 15, 0, null)' - LANGUAGE 'SQL' IMMUTABLE STRICT; - --- ST_AsGML(version, geography, precision) / options = 0 -CREATE OR REPLACE FUNCTION ST_AsGML(int4, geography, int4) - RETURNS text - AS 'SELECT _ST_AsGML($1, $2, $3, 0, null)' + $$ SELECT _ST_AsGML(2,$1::geometry,15,0, NULL); $$ LANGUAGE 'SQL' IMMUTABLE STRICT; -- ST_AsGML (geography, precision, option) / version=2 -CREATE OR REPLACE FUNCTION ST_AsGML(geography, int4, int4) +-- Availability: 1.5.0 +-- Changed: 2.0.0 to use default args +CREATE OR REPLACE FUNCTION ST_AsGML(geog geography, maxdecimaldigits int4 DEFAULT 15, options int4 DEFAULT 0) RETURNS text AS 'SELECT _ST_AsGML(2, $1, $2, $3, null)' LANGUAGE 'SQL' IMMUTABLE STRICT; --- ST_AsGML(version, geography, precision, option) -CREATE OR REPLACE FUNCTION ST_AsGML(int4, geography, int4, int4) - RETURNS text - AS 'SELECT _ST_AsGML($1, $2, $3, $4, null)' - LANGUAGE 'SQL' IMMUTABLE STRICT; - -- ST_AsGML(version, geography, precision, option, prefix) -CREATE OR REPLACE FUNCTION ST_AsGML(int4, geography, int4, int4, text) +-- Changed: 2.0.0 to use default args and allow named args +CREATE OR REPLACE FUNCTION ST_AsGML(version int4, geog geography, maxdecimaldigits int4 DEFAULT 15, options int4 DEFAULT 0, nprefix text DEFAULT null) RETURNS text AS 'SELECT _ST_AsGML($1, $2, $3, $4, $5)' LANGUAGE 'SQL' IMMUTABLE STRICT; - - -- -- KML OUTPUT -- diff --git a/postgis/postgis.sql.in.c b/postgis/postgis.sql.in.c index 8da1aaddf..948a1586b 100644 --- a/postgis/postgis.sql.in.c +++ b/postgis/postgis.sql.in.c @@ -3160,52 +3160,25 @@ CREATE OR REPLACE FUNCTION _ST_AsGML(int4, geometry, int4, int4, text) AS 'MODULE_PATHNAME','LWGEOM_asGML' LANGUAGE 'C' IMMUTABLE; --- ST_AsGML(geom, precision) / version=2 --- Availability: 1.2.2 -CREATE OR REPLACE FUNCTION ST_AsGML(geometry, int4) - RETURNS TEXT - AS 'SELECT _ST_AsGML(2, $1, $2, 0, null)' - LANGUAGE 'SQL' IMMUTABLE STRICT; - --- ST_AsGML(geom) / precision=15 version=2 --- Availability: 1.2.2 -CREATE OR REPLACE FUNCTION ST_AsGML(geometry) - RETURNS TEXT - AS 'SELECT _ST_AsGML(2, $1, 15, 0, null)' - LANGUAGE 'SQL' IMMUTABLE STRICT; - -- ST_AsGML(version, geom) / precision=15 -- Availability: 1.3.2 -CREATE OR REPLACE FUNCTION ST_AsGML(int4, geometry) - RETURNS TEXT - AS 'SELECT _ST_AsGML($1, $2, 15, 0, null)' - LANGUAGE 'SQL' IMMUTABLE STRICT; - -- ST_AsGML(version, geom, precision) -- Availability: 1.3.2 -CREATE OR REPLACE FUNCTION ST_AsGML(int4, geometry, int4) - RETURNS TEXT - AS 'SELECT _ST_AsGML($1, $2, $3, 0, null)' - LANGUAGE 'SQL' IMMUTABLE STRICT; -- ST_AsGML (geom, precision, option) / version=2 -- Availability: 1.4.0 -CREATE OR REPLACE FUNCTION ST_AsGML(geometry, int4, int4) +-- Changed: 2.0.0 to have default args +CREATE OR REPLACE FUNCTION ST_AsGML(geom geometry, maxdecimaldigits int4 DEFAULT 15, options int4 DEFAULT 0) RETURNS TEXT AS 'SELECT _ST_AsGML(2, $1, $2, $3, null)' LANGUAGE 'SQL' IMMUTABLE STRICT; -- ST_AsGML(version, geom, precision, option) -- Availability: 1.4.0 -CREATE OR REPLACE FUNCTION ST_AsGML(int4, geometry, int4, int4) - RETURNS TEXT - AS 'SELECT _ST_AsGML($1, $2, $3, $4, null)' - LANGUAGE 'SQL' IMMUTABLE STRICT; - - -- ST_AsGML(version, geom, precision, option, prefix) -- Availability: 2.0.0 -CREATE OR REPLACE FUNCTION ST_AsGML(int4, geometry, int4, int4, text) +-- Changed: 2.0.0 to use default and named args +CREATE OR REPLACE FUNCTION ST_AsGML(version int4, geom geometry, maxdecimaldigits int4 DEFAULT 15, options int4 DEFAULT 0, nprefix text DEFAULT null) RETURNS TEXT AS 'SELECT _ST_AsGML($1, $2, $3, $4, $5)' LANGUAGE 'SQL' IMMUTABLE STRICT; diff --git a/postgis/postgis_drop.sql.in.c b/postgis/postgis_drop.sql.in.c index bacd2dd13..4708f36f6 100644 --- a/postgis/postgis_drop.sql.in.c +++ b/postgis/postgis_drop.sql.in.c @@ -27,6 +27,15 @@ 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_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, int4); -- changed to use default args +DROP FUNCTION IF EXISTS st_asgml(int4, geometry, int4,int4); -- changed to use default args +DROP FUNCTION IF EXISTS st_asgml(geography); -- changed to use default args +DROP FUNCTION IF EXISTS st_asgml(geography, int4); -- changed to use default args +DROP FUNCTION IF EXISTS st_asgml(int4, geography); -- changed to use default args +DROP FUNCTION IF EXISTS st_asgml(int4, geography, int4); -- changed to use default args +DROP FUNCTION IF EXISTS st_asgml(int4, geography, int4,int4); -- changed to use default args DROP FUNCTION IF EXISTS st_asx3d(geometry); -- this one changed to use default parameters so full function deals with it DROP FUNCTION IF EXISTS st_asx3d(geometry, int4); -- introduce variant with opts so get rid of other without ops DROP FUNCTION IF EXISTS st_assvg(geometry); -- changed to use default args