]> granicus.if.org Git - postgis/commitdiff
Implement RFC3 (#195)
authorPaul Ramsey <pramsey@cleverelephant.ca>
Thu, 5 Nov 2009 19:04:45 +0000 (19:04 +0000)
committerPaul Ramsey <pramsey@cleverelephant.ca>
Thu, 5 Nov 2009 19:04:45 +0000 (19:04 +0000)
git-svn-id: http://svn.osgeo.org/postgis/trunk@4750 b70326c6-7e19-0410-871a-916f4a2858ee

postgis/lwgeom_functions_basic.c
postgis/postgis.sql.in.c
postgis/sqlmm.sql.in.c
regress/regress.sql
regress/regress_expected
regress/regress_ogc.sql
regress/regress_ogc_expected

index bebcdcc046f6ebc4a17f284624efa9aaa9ee2238..6a51865e5979a41243320f23e6f69df1b2643dda 100644 (file)
@@ -58,6 +58,8 @@ Datum LWGEOM_reverse(PG_FUNCTION_ARGS);
 Datum LWGEOM_forceRHR_poly(PG_FUNCTION_ARGS);
 Datum LWGEOM_noop(PG_FUNCTION_ARGS);
 Datum LWGEOM_zmflag(PG_FUNCTION_ARGS);
+Datum LWGEOM_hasz(PG_FUNCTION_ARGS);
+Datum LWGEOM_hasm(PG_FUNCTION_ARGS);
 Datum LWGEOM_ndims(PG_FUNCTION_ARGS);
 Datum LWGEOM_makepoint(PG_FUNCTION_ARGS);
 Datum LWGEOM_makepoint3dm(PG_FUNCTION_ARGS);
@@ -2686,6 +2688,21 @@ Datum LWGEOM_zmflag(PG_FUNCTION_ARGS)
        PG_RETURN_INT16(ret);
 }
 
+PG_FUNCTION_INFO_V1(LWGEOM_hasz);
+Datum LWGEOM_hasz(PG_FUNCTION_ARGS)
+{
+       PG_LWGEOM *in = (PG_LWGEOM *)PG_DETOAST_DATUM(PG_GETARG_DATUM(0));
+       PG_RETURN_BOOL(TYPE_HASZ(in->type));
+}
+
+PG_FUNCTION_INFO_V1(LWGEOM_hasm);
+Datum LWGEOM_hasm(PG_FUNCTION_ARGS)
+{
+       PG_LWGEOM *in = (PG_LWGEOM *)PG_DETOAST_DATUM(PG_GETARG_DATUM(0));
+       PG_RETURN_BOOL(TYPE_HASM(in->type));
+}
+
+
 PG_FUNCTION_INFO_V1(LWGEOM_hasBBOX);
 Datum LWGEOM_hasBBOX(PG_FUNCTION_ARGS)
 {
index 817269d255841eb81ec8e4d0f2211fd2fb1f1194..ea69e52b14c15e50f87e273596d940c85a7d7970 100644 (file)
@@ -27,109 +27,60 @@ BEGIN;
 --  SPHEROID TYPE
 -------------------------------------------------------------------
 
--- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION spheroid_in(cstring)
        RETURNS spheroid
        AS 'MODULE_PATHNAME','ellipsoid_in'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_spheroid_in(cstring)
-       RETURNS spheroid
-       AS 'MODULE_PATHNAME','ellipsoid_in'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
--- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION spheroid_out(spheroid)
        RETURNS cstring
        AS 'MODULE_PATHNAME','ellipsoid_out'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_spheroid_out(spheroid)
-       RETURNS cstring
-       AS 'MODULE_PATHNAME','ellipsoid_out'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
 CREATE TYPE spheroid (
        alignment = double,
        internallength = 65,
-       input = ST_spheroid_in,
-       output = ST_spheroid_out
+       input = spheroid_in,
+       output = spheroid_out
 );
 
 -------------------------------------------------------------------
 --  GEOMETRY TYPE (lwgeom)
 -------------------------------------------------------------------
 
--- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION geometry_in(cstring)
        RETURNS geometry
        AS 'MODULE_PATHNAME','LWGEOM_in'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_geometry_in(cstring)
-       RETURNS geometry
-       AS 'MODULE_PATHNAME','LWGEOM_in'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
--- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION geometry_out(geometry)
        RETURNS cstring
        AS 'MODULE_PATHNAME','LWGEOM_out'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_geometry_out(geometry)
-       RETURNS cstring
-       AS 'MODULE_PATHNAME','LWGEOM_out'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
--- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION geometry_analyze(internal)
        RETURNS bool
        AS 'MODULE_PATHNAME', 'LWGEOM_analyze'
        LANGUAGE 'C' VOLATILE STRICT;
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_geometry_analyze(internal)
-       RETURNS bool
-       AS 'MODULE_PATHNAME', 'LWGEOM_analyze'
-       LANGUAGE 'C' VOLATILE STRICT;
-
--- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION geometry_recv(internal)
        RETURNS geometry
        AS 'MODULE_PATHNAME','LWGEOM_recv'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_geometry_recv(internal)
-       RETURNS geometry
-       AS 'MODULE_PATHNAME','LWGEOM_recv'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
--- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION geometry_send(geometry)
        RETURNS bytea
        AS 'MODULE_PATHNAME','LWGEOM_send'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_geometry_send(geometry)
-       RETURNS bytea
-       AS 'MODULE_PATHNAME','LWGEOM_send'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
 CREATE TYPE geometry (
        internallength = variable,
-       input = ST_geometry_in,
-       output = ST_geometry_out,
-       send = ST_geometry_send,
-       receive = ST_geometry_recv,
+       input = geometry_in,
+       output = geometry_out,
+       send = geometry_send,
+       receive = geometry_recv,
        delimiter = ':',
-       analyze = ST_geometry_analyze,
+       analyze = geometry_analyze,
        storage = main
 );
 
@@ -309,23 +260,11 @@ CREATE OR REPLACE FUNCTION box3d_out(box3d)
        AS 'MODULE_PATHNAME', 'BOX3D_out'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_box3d_in(cstring)
-       RETURNS box3d
-       AS 'MODULE_PATHNAME', 'BOX3D_in'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_box3d_out(box3d)
-       RETURNS cstring
-       AS 'MODULE_PATHNAME', 'BOX3D_out'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
 CREATE TYPE box3d (
        alignment = double,
        internallength = 48,
-       input = ST_box3d_in,
-       output = ST_box3d_out
+       input = box3d_in,
+       output = box3d_out
 );
 
 -- Temporary box3d aggregate type to retain full double precision
@@ -349,17 +288,17 @@ CREATE TYPE box3d_extent (
 );
 
 -- Availability: 1.4.0
-CREATE OR REPLACE FUNCTION ST_box3d_extent(box3d_extent)
+CREATE OR REPLACE FUNCTION box3d_extent(box3d_extent)
        RETURNS box3d
        AS 'MODULE_PATHNAME', 'BOX3D_extent_to_BOX3D'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
-CREATE OR REPLACE FUNCTION ST_box2d(box3d_extent)
+CREATE OR REPLACE FUNCTION box2d(box3d_extent)
        RETURNS box2d
        AS 'MODULE_PATHNAME', 'BOX3D_to_BOX2DFLOAT4'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
-CREATE OR REPLACE FUNCTION ST_geometry(box3d_extent)
+CREATE OR REPLACE FUNCTION geometry(box3d_extent)
        RETURNS geometry
        AS 'MODULE_PATHNAME','BOX3D_to_LWGEOM'
        LANGUAGE 'C' IMMUTABLE STRICT;
@@ -483,28 +422,16 @@ CREATE OR REPLACE FUNCTION box2d_in(cstring)
        AS 'MODULE_PATHNAME','BOX2DFLOAT4_in'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_box2d_in(cstring)
-       RETURNS box2d
-       AS 'MODULE_PATHNAME','BOX2DFLOAT4_in'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
 -- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION box2d_out(box2d)
        RETURNS cstring
        AS 'MODULE_PATHNAME','BOX2DFLOAT4_out'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_box2d_out(box2d)
-       RETURNS cstring
-       AS 'MODULE_PATHNAME','BOX2DFLOAT4_out'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
 CREATE TYPE box2d (
        internallength = 16,
-       input = ST_box2d_in,
-       output = ST_box2d_out,
+       input = box2d_in,
+       output = box2d_out,
        storage = plain
 );
 
@@ -516,108 +443,54 @@ CREATE OR REPLACE FUNCTION box2d_overleft(box2d, box2d)
        AS 'MODULE_PATHNAME', 'BOX2D_overleft'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_box2d_overleft(box2d, box2d)
-       RETURNS bool
-       AS 'MODULE_PATHNAME', 'BOX2D_overleft'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
 -- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION box2d_overright(box2d, box2d)
        RETURNS bool
        AS 'MODULE_PATHNAME', 'BOX2D_overright'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_box2d_overright(box2d, box2d)
-       RETURNS bool
-       AS 'MODULE_PATHNAME', 'BOX2D_overright'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
 -- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION box2d_left(box2d, box2d)
        RETURNS bool
        AS 'MODULE_PATHNAME', 'BOX2D_left'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_box2d_left(box2d, box2d)
-       RETURNS bool
-       AS 'MODULE_PATHNAME', 'BOX2D_left'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
 -- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION box2d_right(box2d, box2d)
        RETURNS bool
        AS 'MODULE_PATHNAME', 'BOX2D_right'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_box2d_right(box2d, box2d)
-       RETURNS bool
-       AS 'MODULE_PATHNAME', 'BOX2D_right'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
 -- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION box2d_contain(box2d, box2d)
        RETURNS bool
        AS 'MODULE_PATHNAME', 'BOX2D_contain'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_box2d_contain(box2d, box2d)
-       RETURNS bool
-       AS 'MODULE_PATHNAME', 'BOX2D_contain'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
 -- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION box2d_contained(box2d, box2d)
        RETURNS bool
        AS 'MODULE_PATHNAME', 'BOX2D_contained'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_box2d_contained(box2d, box2d)
-       RETURNS bool
-       AS 'MODULE_PATHNAME', 'BOX2D_contained'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
 -- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION box2d_overlap(box2d, box2d)
        RETURNS bool
        AS 'MODULE_PATHNAME', 'BOX2D_overlap'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_box2d_overlap(box2d, box2d)
-       RETURNS bool
-       AS 'MODULE_PATHNAME', 'BOX2D_overlap'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
 -- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION box2d_same(box2d, box2d)
        RETURNS bool
        AS 'MODULE_PATHNAME', 'BOX2D_same'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_box2d_same(box2d, box2d)
-       RETURNS bool
-       AS 'MODULE_PATHNAME', 'BOX2D_same'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
 -- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION box2d_intersects(box2d, box2d)
        RETURNS bool
        AS 'MODULE_PATHNAME', 'BOX2D_intersects'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_box2d_intersects(box2d, box2d)
-       RETURNS bool
-       AS 'MODULE_PATHNAME', 'BOX2D_intersects'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
 
 -- lwgeom  operator support functions
 
@@ -625,107 +498,65 @@ CREATE OR REPLACE FUNCTION ST_box2d_intersects(box2d, box2d)
 -- BTREE indexes
 -------------------------------------------------------------------
 
--- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION geometry_lt(geometry, geometry)
        RETURNS bool
        AS 'MODULE_PATHNAME', 'lwgeom_lt'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_geometry_lt(geometry, geometry)
-       RETURNS bool
-       AS 'MODULE_PATHNAME', 'lwgeom_lt'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
--- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION geometry_le(geometry, geometry)
        RETURNS bool
        AS 'MODULE_PATHNAME', 'lwgeom_le'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_geometry_le(geometry, geometry)
-       RETURNS bool
-       AS 'MODULE_PATHNAME', 'lwgeom_le'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
--- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION geometry_gt(geometry, geometry)
        RETURNS bool
        AS 'MODULE_PATHNAME', 'lwgeom_gt'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_geometry_gt(geometry, geometry)
-       RETURNS bool
-       AS 'MODULE_PATHNAME', 'lwgeom_gt'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
--- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION geometry_ge(geometry, geometry)
        RETURNS bool
        AS 'MODULE_PATHNAME', 'lwgeom_ge'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_geometry_ge(geometry, geometry)
-       RETURNS bool
-       AS 'MODULE_PATHNAME', 'lwgeom_ge'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
--- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION geometry_eq(geometry, geometry)
        RETURNS bool
        AS 'MODULE_PATHNAME', 'lwgeom_eq'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_geometry_eq(geometry, geometry)
-       RETURNS bool
-       AS 'MODULE_PATHNAME', 'lwgeom_eq'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
--- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION geometry_cmp(geometry, geometry)
        RETURNS integer
        AS 'MODULE_PATHNAME', 'lwgeom_cmp'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_geometry_cmp(geometry, geometry)
-       RETURNS integer
-       AS 'MODULE_PATHNAME', 'lwgeom_cmp'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
 --
 -- Sorting operators for Btree
 --
 
 CREATE OPERATOR < (
-       LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = ST_geometry_lt,
+       LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_lt,
        COMMUTATOR = '>', NEGATOR = '>=',
        RESTRICT = contsel, JOIN = contjoinsel
 );
 
 CREATE OPERATOR <= (
-       LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = ST_geometry_le,
+       LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_le,
        COMMUTATOR = '>=', NEGATOR = '>',
        RESTRICT = contsel, JOIN = contjoinsel
 );
 
 CREATE OPERATOR = (
-       LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = ST_geometry_eq,
+       LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_eq,
        COMMUTATOR = '=', -- we might implement a faster negator here
        RESTRICT = contsel, JOIN = contjoinsel
 );
 
 CREATE OPERATOR >= (
-       LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = ST_geometry_ge,
+       LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_ge,
        COMMUTATOR = '<=', NEGATOR = '<',
        RESTRICT = contsel, JOIN = contjoinsel
 );
 CREATE OPERATOR > (
-       LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = ST_geometry_gt,
+       LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_gt,
        COMMUTATOR = '<', NEGATOR = '<=',
        RESTRICT = contsel, JOIN = contjoinsel
 );
@@ -745,281 +576,185 @@ CREATE OPERATOR CLASS btree_geometry_ops
 -------------------------------------------------------------------
 -- GiST indexes
 -------------------------------------------------------------------
--- Deprecation in 1.2.3
-CREATE OR REPLACE FUNCTION postgis_gist_sel (internal, oid, internal, int4)
-       RETURNS float8
-       AS 'MODULE_PATHNAME', 'LWGEOM_gist_sel'
-       LANGUAGE 'C';
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_postgis_gist_sel (internal, oid, internal, int4)
+CREATE OR REPLACE FUNCTION geometry_gist_sel (internal, oid, internal, int4)
        RETURNS float8
        AS 'MODULE_PATHNAME', 'LWGEOM_gist_sel'
        LANGUAGE 'C';
 
--- Deprecation in 1.2.3
-CREATE OR REPLACE FUNCTION postgis_gist_joinsel(internal, oid, internal, smallint)
-       RETURNS float8
-       AS 'MODULE_PATHNAME', 'LWGEOM_gist_joinsel'
-       LANGUAGE 'C';
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_postgis_gist_joinsel(internal, oid, internal, smallint)
+CREATE OR REPLACE FUNCTION geometry_gist_joinsel(internal, oid, internal, smallint)
        RETURNS float8
        AS 'MODULE_PATHNAME', 'LWGEOM_gist_joinsel'
        LANGUAGE 'C';
 
--- Deprecation in 1.2.3
-CREATE OR REPLACE FUNCTION geometry_overleft(geometry, geometry)
-       RETURNS bool
-       AS 'MODULE_PATHNAME', 'LWGEOM_overleft'
-       LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_geometry_overleft(geometry, geometry)
+CREATE OR REPLACE FUNCTION geometry_overleft(geometry, geometry)
        RETURNS bool
        AS 'MODULE_PATHNAME', 'LWGEOM_overleft'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION geometry_overright(geometry, geometry)
        RETURNS bool
        AS 'MODULE_PATHNAME', 'LWGEOM_overright'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_geometry_overright(geometry, geometry)
-       RETURNS bool
-       AS 'MODULE_PATHNAME', 'LWGEOM_overright'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
--- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION geometry_overabove(geometry, geometry)
        RETURNS bool
        AS 'MODULE_PATHNAME', 'LWGEOM_overabove'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_geometry_overabove(geometry, geometry)
-       RETURNS bool
-       AS 'MODULE_PATHNAME', 'LWGEOM_overabove'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
--- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION geometry_overbelow(geometry, geometry)
        RETURNS bool
        AS 'MODULE_PATHNAME', 'LWGEOM_overbelow'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_geometry_overbelow(geometry, geometry)
-       RETURNS bool
-       AS 'MODULE_PATHNAME', 'LWGEOM_overbelow'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
--- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION geometry_left(geometry, geometry)
        RETURNS bool
        AS 'MODULE_PATHNAME', 'LWGEOM_left'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_geometry_left(geometry, geometry)
-       RETURNS bool
-       AS 'MODULE_PATHNAME', 'LWGEOM_left'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
--- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION geometry_right(geometry, geometry)
        RETURNS bool
        AS 'MODULE_PATHNAME', 'LWGEOM_right'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_geometry_right(geometry, geometry)
-       RETURNS bool
-       AS 'MODULE_PATHNAME', 'LWGEOM_right'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
--- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION geometry_above(geometry, geometry)
        RETURNS bool
        AS 'MODULE_PATHNAME', 'LWGEOM_above'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_geometry_above(geometry, geometry)
-       RETURNS bool
-       AS 'MODULE_PATHNAME', 'LWGEOM_above'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
--- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION geometry_below(geometry, geometry)
        RETURNS bool
        AS 'MODULE_PATHNAME', 'LWGEOM_below'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_geometry_below(geometry, geometry)
-       RETURNS bool
-       AS 'MODULE_PATHNAME', 'LWGEOM_below'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
--- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION geometry_contain(geometry, geometry)
        RETURNS bool
        AS 'MODULE_PATHNAME', 'LWGEOM_contain'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_geometry_contain(geometry, geometry)
-       RETURNS bool
-       AS 'MODULE_PATHNAME', 'LWGEOM_contain'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
--- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION geometry_contained(geometry, geometry)
        RETURNS bool
        AS 'MODULE_PATHNAME', 'LWGEOM_contained'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_geometry_contained(geometry, geometry)
-       RETURNS bool
-       AS 'MODULE_PATHNAME', 'LWGEOM_contained'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
--- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION geometry_overlap(geometry, geometry)
        RETURNS bool
        AS 'MODULE_PATHNAME', 'LWGEOM_overlap'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_geometry_overlap(geometry, geometry)
-       RETURNS bool
-       AS 'MODULE_PATHNAME', 'LWGEOM_overlap'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
--- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION geometry_same(geometry, geometry)
        RETURNS bool
        AS 'MODULE_PATHNAME', 'LWGEOM_same'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
---Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_geometry_same(geometry, geometry)
-       RETURNS bool
-       AS 'MODULE_PATHNAME', 'LWGEOM_same'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
--- GEOMETRY operators
 
 CREATE OPERATOR << (
-       LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = ST_geometry_left,
+       LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_left,
        COMMUTATOR = '>>',
        RESTRICT = positionsel, JOIN = positionjoinsel
 );
 
 CREATE OPERATOR &< (
-       LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = ST_geometry_overleft,
+       LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_overleft,
        COMMUTATOR = '&>',
        RESTRICT = positionsel, JOIN = positionjoinsel
 );
 
 CREATE OPERATOR <<| (
-       LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = ST_geometry_below,
+       LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_below,
        COMMUTATOR = '|>>',
        RESTRICT = positionsel, JOIN = positionjoinsel
 );
 
 CREATE OPERATOR &<| (
-       LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = ST_geometry_overbelow,
+       LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_overbelow,
        COMMUTATOR = '|&>',
        RESTRICT = positionsel, JOIN = positionjoinsel
 );
 
 CREATE OPERATOR && (
-       LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = ST_geometry_overlap,
+       LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_overlap,
        COMMUTATOR = '&&',
-       RESTRICT = ST_postgis_gist_sel, JOIN = ST_postgis_gist_joinsel
+       RESTRICT = geometry_gist_sel, JOIN = geometry_gist_joinsel
 );
 
 CREATE OPERATOR &> (
-       LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = ST_geometry_overright,
+       LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_overright,
        COMMUTATOR = '&<',
        RESTRICT = positionsel, JOIN = positionjoinsel
 );
 
 CREATE OPERATOR >> (
-       LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = ST_geometry_right,
+       LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_right,
        COMMUTATOR = '<<',
        RESTRICT = positionsel, JOIN = positionjoinsel
 );
 
 CREATE OPERATOR |&> (
-       LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = ST_geometry_overabove,
+       LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_overabove,
        COMMUTATOR = '&<|',
        RESTRICT = positionsel, JOIN = positionjoinsel
 );
 
 CREATE OPERATOR |>> (
-       LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = ST_geometry_above,
+       LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_above,
        COMMUTATOR = '<<|',
        RESTRICT = positionsel, JOIN = positionjoinsel
 );
 
 CREATE OPERATOR ~= (
-       LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = ST_geometry_same,
+       LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_same,
        COMMUTATOR = '~=',
        RESTRICT = eqsel, JOIN = eqjoinsel
 );
 
 CREATE OPERATOR @ (
-       LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = ST_geometry_contained,
+       LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_contained,
        COMMUTATOR = '~',
        RESTRICT = contsel, JOIN = contjoinsel
 );
 
 CREATE OPERATOR ~ (
-       LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = ST_geometry_contain,
+       LEFTARG = geometry, RIGHTARG = geometry, PROCEDURE = geometry_contain,
        COMMUTATOR = '@',
        RESTRICT = contsel, JOIN = contjoinsel
 );
 
 -- gist support functions
 
-CREATE OR REPLACE FUNCTION LWGEOM_gist_consistent(internal,geometry,int4)
+CREATE OR REPLACE FUNCTION postgis_gist_consistent(internal,geometry,int4)
        RETURNS bool
        AS 'MODULE_PATHNAME' ,'LWGEOM_gist_consistent'
        LANGUAGE 'C';
 
-CREATE OR REPLACE FUNCTION LWGEOM_gist_compress(internal)
+CREATE OR REPLACE FUNCTION postgis_gist_compress(internal)
        RETURNS internal
        AS 'MODULE_PATHNAME','LWGEOM_gist_compress'
        LANGUAGE 'C';
 
-CREATE OR REPLACE FUNCTION LWGEOM_gist_penalty(internal,internal,internal)
+CREATE OR REPLACE FUNCTION postgis_gist_penalty(internal,internal,internal)
        RETURNS internal
        AS 'MODULE_PATHNAME' ,'LWGEOM_gist_penalty'
        LANGUAGE 'C';
 
-CREATE OR REPLACE FUNCTION LWGEOM_gist_picksplit(internal, internal)
+CREATE OR REPLACE FUNCTION postgis_gist_picksplit(internal, internal)
        RETURNS internal
        AS 'MODULE_PATHNAME' ,'LWGEOM_gist_picksplit'
        LANGUAGE 'C';
 
-CREATE OR REPLACE FUNCTION LWGEOM_gist_union(bytea, internal)
+CREATE OR REPLACE FUNCTION postgis_gist_union(bytea, internal)
        RETURNS internal
        AS 'MODULE_PATHNAME' ,'LWGEOM_gist_union'
        LANGUAGE 'C';
 
-CREATE OR REPLACE FUNCTION LWGEOM_gist_same(box2d, box2d, internal)
+CREATE OR REPLACE FUNCTION postgis_gist_same(box2d, box2d, internal)
        RETURNS internal
        AS 'MODULE_PATHNAME' ,'LWGEOM_gist_same'
        LANGUAGE 'C';
 
-CREATE OR REPLACE FUNCTION LWGEOM_gist_decompress(internal)
+CREATE OR REPLACE FUNCTION postgis_gist_decompress(internal)
        RETURNS internal
        AS 'MODULE_PATHNAME' ,'LWGEOM_gist_decompress'
        LANGUAGE 'C';
@@ -1046,66 +781,70 @@ CREATE OPERATOR CLASS gist_geometry_ops
        OPERATOR        10       <<|    ,
        OPERATOR        11       |>>    ,
        OPERATOR        12       |&>    ,
-       FUNCTION        1        LWGEOM_gist_consistent (internal, geometry, int4),
-       FUNCTION        2        LWGEOM_gist_union (bytea, internal),
-       FUNCTION        3        LWGEOM_gist_compress (internal),
-       FUNCTION        4        LWGEOM_gist_decompress (internal),
-       FUNCTION        5        LWGEOM_gist_penalty (internal, internal, internal),
-       FUNCTION        6        LWGEOM_gist_picksplit (internal, internal),
-       FUNCTION        7        LWGEOM_gist_same (box2d, box2d, internal);
+       FUNCTION        1        postgis_gist_consistent (internal, geometry, int4),
+       FUNCTION        2        postgis_gist_union (bytea, internal),
+       FUNCTION        3        postgis_gist_compress (internal),
+       FUNCTION        4        postgis_gist_decompress (internal),
+       FUNCTION        5        postgis_gist_penalty (internal, internal, internal),
+       FUNCTION        6        postgis_gist_picksplit (internal, internal),
+       FUNCTION        7        postgis_gist_same (box2d, box2d, internal);
 
 -------------------------------------------
 -- other lwgeom functions
 -------------------------------------------
 
--- Deprecation in 1.2.3
-CREATE OR REPLACE FUNCTION addBBOX(geometry)
+CREATE OR REPLACE FUNCTION addbbox(geometry)
        RETURNS geometry
        AS 'MODULE_PATHNAME','LWGEOM_addBBOX'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_addBBOX(geometry)
+-- Availability: 1.5.0
+CREATE OR REPLACE FUNCTION postgis_addbbox(geometry)
        RETURNS geometry
        AS 'MODULE_PATHNAME','LWGEOM_addBBOX'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Deprecation in 1.2.3
-CREATE OR REPLACE FUNCTION dropBBOX(geometry)
+CREATE OR REPLACE FUNCTION dropbbox(geometry)
        RETURNS geometry
        AS 'MODULE_PATHNAME','LWGEOM_dropBBOX'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_dropBBOX(geometry)
+-- Availability: 1.5.0
+CREATE OR REPLACE FUNCTION postgis_dropbbox(geometry)
        RETURNS geometry
        AS 'MODULE_PATHNAME','LWGEOM_dropBBOX'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Deprecation in 1.2.3
-CREATE OR REPLACE FUNCTION getSRID(geometry)
-       RETURNS int4
-       AS 'MODULE_PATHNAME','LWGEOM_getSRID'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
 -- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION getSRID(geometry)
+CREATE OR REPLACE FUNCTION getsrid(geometry)
        RETURNS int4
        AS 'MODULE_PATHNAME','LWGEOM_getSRID'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Deprecation in 1.2.3
-CREATE OR REPLACE FUNCTION getBBOX(geometry)
+-- Availability: 1.5.0
+CREATE OR REPLACE FUNCTION getbbox(geometry)
        RETURNS box2d
        AS 'MODULE_PATHNAME','LWGEOM_to_BOX2DFLOAT4'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION getBBOX(geometry)
+-- Availability: 1.5.0
+CREATE OR REPLACE FUNCTION postgis_getbbox(geometry)
        RETURNS box2d
        AS 'MODULE_PATHNAME','LWGEOM_to_BOX2DFLOAT4'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
+-- Deprecation in 1.2.3
+CREATE OR REPLACE FUNCTION hasbbox(geometry)
+       RETURNS bool
+       AS 'MODULE_PATHNAME', 'LWGEOM_hasBBOX'
+       LANGUAGE 'C' IMMUTABLE STRICT;
+
+-- Availability: 1.5.0
+CREATE OR REPLACE FUNCTION postgis_hasbbox(geometry)
+       RETURNS bool
+       AS 'MODULE_PATHNAME', 'LWGEOM_hasBBOX'
+       LANGUAGE 'C' IMMUTABLE STRICT;
+
 -------------------------------------------
 --- CHIP functions
 -------------------------------------------
@@ -1638,8 +1377,8 @@ CREATE OR REPLACE FUNCTION noop(geometry)
        AS 'MODULE_PATHNAME', 'LWGEOM_noop'
        LANGUAGE 'C' VOLATILE STRICT;
 
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_noop(geometry)
+-- Availability: 1.5.0
+CREATE OR REPLACE FUNCTION postgis_noop(geometry)
        RETURNS geometry
        AS 'MODULE_PATHNAME', 'LWGEOM_noop'
        LANGUAGE 'C' VOLATILE STRICT;
@@ -1650,24 +1389,12 @@ CREATE OR REPLACE FUNCTION zmflag(geometry)
        AS 'MODULE_PATHNAME', 'LWGEOM_zmflag'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
+-- Deprecation in 1.5.0
 CREATE OR REPLACE FUNCTION ST_zmflag(geometry)
        RETURNS smallint
        AS 'MODULE_PATHNAME', 'LWGEOM_zmflag'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Deprecation in 1.2.3
-CREATE OR REPLACE FUNCTION hasBBOX(geometry)
-       RETURNS bool
-       AS 'MODULE_PATHNAME', 'LWGEOM_hasBBOX'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
--- Availabitily: 1.2.2
-CREATE OR REPLACE FUNCTION ST_HasBBOX(geometry)
-       RETURNS bool
-       AS 'MODULE_PATHNAME', 'LWGEOM_hasBBOX'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
 -- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION ndims(geometry)
        RETURNS smallint
@@ -1764,16 +1491,10 @@ CREATE OR REPLACE FUNCTION ST_GeomFromEWKT(text)
        AS 'MODULE_PATHNAME','parse_WKT_lwgeom'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Deprecation in 1.2.3
-CREATE OR REPLACE FUNCTION cache_bbox()
-       RETURNS trigger
-       AS 'MODULE_PATHNAME'
-       LANGUAGE 'C';
-
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_Cache_BBox()
+-- Availability: 1.5.0
+CREATE OR REPLACE FUNCTION postgis_cache_bbox()
        RETURNS trigger
-       AS 'MODULE_PATHNAME','cache_bbox'
+       AS 'MODULE_PATHNAME', 'cache_bbox'
        LANGUAGE 'C';
 
 ------------------------------------------------------------------------
@@ -3366,9 +3087,7 @@ END;
 $$
 LANGUAGE 'plpgsql' IMMUTABLE STRICT;
 
-
-
-CREATE OR REPLACE FUNCTION transform_geometry(geometry,text,text,int)
+CREATE OR REPLACE FUNCTION postgis_transform_geometry(geometry,text,text,int)
        RETURNS geometry
        AS 'MODULE_PATHNAME','transform_geom'
        LANGUAGE 'C' IMMUTABLE STRICT;
@@ -3482,85 +3201,78 @@ LANGUAGE 'plpgsql' IMMUTABLE;
 -- CASTS
 ---------------------------------------------------------------
 
--- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION box2d(geometry)
        RETURNS box2d
        AS 'MODULE_PATHNAME','LWGEOM_to_BOX2DFLOAT4'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
+-- Deprecation in 1.5.0
 CREATE OR REPLACE FUNCTION ST_box2d(geometry)
        RETURNS box2d
        AS 'MODULE_PATHNAME','LWGEOM_to_BOX2DFLOAT4'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION box3d(geometry)
        RETURNS box3d
        AS 'MODULE_PATHNAME','LWGEOM_to_BOX3D'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
+-- Deprecation in 1.5.0
 CREATE OR REPLACE FUNCTION ST_box3d(geometry)
        RETURNS box3d
        AS 'MODULE_PATHNAME','LWGEOM_to_BOX3D'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION box(geometry)
        RETURNS box
        AS 'MODULE_PATHNAME','LWGEOM_to_BOX'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
+-- Deprecation in 1.5.0
 CREATE OR REPLACE FUNCTION ST_box(geometry)
        RETURNS box
        AS 'MODULE_PATHNAME','LWGEOM_to_BOX'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION box2d(box3d)
        RETURNS box2d
        AS 'MODULE_PATHNAME','BOX3D_to_BOX2DFLOAT4'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
+-- Deprecation in 1.5.0
 CREATE OR REPLACE FUNCTION ST_box2d(box3d)
        RETURNS box2d
        AS 'MODULE_PATHNAME','BOX3D_to_BOX2DFLOAT4'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION box3d(box2d)
        RETURNS box3d
        AS 'MODULE_PATHNAME','BOX2DFLOAT4_to_BOX3D'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
+-- Deprecation in 1.5.0
 CREATE OR REPLACE FUNCTION ST_box3d(box2d)
        RETURNS box3d
        AS 'MODULE_PATHNAME','BOX2DFLOAT4_to_BOX3D'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION box(box3d)
        RETURNS box
        AS 'MODULE_PATHNAME','BOX3D_to_BOX'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
+-- Deprecation in 1.5.0
 CREATE OR REPLACE FUNCTION ST_box(box3d)
        RETURNS box
        AS 'MODULE_PATHNAME','BOX3D_to_BOX'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION text(geometry)
        RETURNS text
        AS 'MODULE_PATHNAME','LWGEOM_to_text'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
+-- Deprecation in 1.5.0
 CREATE OR REPLACE FUNCTION ST_text(geometry)
        RETURNS text
        AS 'MODULE_PATHNAME','LWGEOM_to_text'
@@ -3573,97 +3285,91 @@ CREATE OR REPLACE FUNCTION box3dtobox(box3d)
        AS 'SELECT box($1)'
        LANGUAGE 'SQL' IMMUTABLE STRICT;
 
--- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION geometry(box2d)
        RETURNS geometry
        AS 'MODULE_PATHNAME','BOX2DFLOAT4_to_LWGEOM'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
+-- Deprecation in 1.5.0
 CREATE OR REPLACE FUNCTION ST_geometry(box2d)
        RETURNS geometry
        AS 'MODULE_PATHNAME','BOX2DFLOAT4_to_LWGEOM'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION geometry(box3d)
        RETURNS geometry
        AS 'MODULE_PATHNAME','BOX3D_to_LWGEOM'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
+-- Deprecation in 1.5.0
 CREATE OR REPLACE FUNCTION ST_geometry(box3d)
        RETURNS geometry
        AS 'MODULE_PATHNAME','BOX3D_to_LWGEOM'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION geometry(text)
        RETURNS geometry
        AS 'MODULE_PATHNAME','parse_WKT_lwgeom'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
+-- Deprecation in 1.5.0
 CREATE OR REPLACE FUNCTION ST_geometry(text)
        RETURNS geometry
        AS 'MODULE_PATHNAME','parse_WKT_lwgeom'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION geometry(chip)
        RETURNS geometry
        AS 'MODULE_PATHNAME','CHIP_to_LWGEOM'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
+-- Deprecation in 1.5.0
 CREATE OR REPLACE FUNCTION ST_geometry(chip)
        RETURNS geometry
        AS 'MODULE_PATHNAME','CHIP_to_LWGEOM'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION geometry(bytea)
        RETURNS geometry
        AS 'MODULE_PATHNAME','LWGEOM_from_bytea'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
+-- Deprecation in 1.5.0
 CREATE OR REPLACE FUNCTION ST_geometry(bytea)
        RETURNS geometry
        AS 'MODULE_PATHNAME','LWGEOM_from_bytea'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION bytea(geometry)
        RETURNS bytea
        AS 'MODULE_PATHNAME','LWGEOM_to_bytea'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Availability: 1.2.2
+-- Deprecation in 1.5.0
 CREATE OR REPLACE FUNCTION ST_bytea(geometry)
        RETURNS bytea
        AS 'MODULE_PATHNAME','LWGEOM_to_bytea'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
 -- 7.3+ explicit casting definitions
-CREATE CAST (geometry AS box2d) WITH FUNCTION ST_box2d(geometry) AS IMPLICIT;
-CREATE CAST (geometry AS box3d) WITH FUNCTION ST_box3d(geometry) AS IMPLICIT;
-CREATE CAST (geometry AS box) WITH FUNCTION ST_box(geometry) AS IMPLICIT;
-CREATE CAST (box3d AS box2d) WITH FUNCTION ST_box2d(box3d) AS IMPLICIT;
-CREATE CAST (box2d AS box3d) WITH FUNCTION ST_box3d(box2d) AS IMPLICIT;
-CREATE CAST (box2d AS geometry) WITH FUNCTION ST_geometry(box2d) AS IMPLICIT;
-CREATE CAST (box3d AS box) WITH FUNCTION ST_box(box3d) AS IMPLICIT;
-CREATE CAST (box3d AS geometry) WITH FUNCTION ST_geometry(box3d) AS IMPLICIT;
-CREATE CAST (text AS geometry) WITH FUNCTION ST_geometry(text) AS IMPLICIT;
-CREATE CAST (geometry AS text) WITH FUNCTION ST_text(geometry) AS IMPLICIT;
-CREATE CAST (chip AS geometry) WITH FUNCTION ST_geometry(chip) AS IMPLICIT;
-CREATE CAST (bytea AS geometry) WITH FUNCTION ST_geometry(bytea) AS IMPLICIT;
-CREATE CAST (geometry AS bytea) WITH FUNCTION ST_bytea(geometry) AS IMPLICIT;
+CREATE CAST (geometry AS box2d) WITH FUNCTION box2d(geometry) AS IMPLICIT;
+CREATE CAST (geometry AS box3d) WITH FUNCTION box3d(geometry) AS IMPLICIT;
+CREATE CAST (geometry AS box) WITH FUNCTION box(geometry) AS IMPLICIT;
+CREATE CAST (box3d AS box2d) WITH FUNCTION box2d(box3d) AS IMPLICIT;
+CREATE CAST (box2d AS box3d) WITH FUNCTION box3d(box2d) AS IMPLICIT;
+CREATE CAST (box2d AS geometry) WITH FUNCTION geometry(box2d) AS IMPLICIT;
+CREATE CAST (box3d AS box) WITH FUNCTION box(box3d) AS IMPLICIT;
+CREATE CAST (box3d AS geometry) WITH FUNCTION geometry(box3d) AS IMPLICIT;
+CREATE CAST (text AS geometry) WITH FUNCTION geometry(text) AS IMPLICIT;
+CREATE CAST (geometry AS text) WITH FUNCTION text(geometry) AS IMPLICIT;
+CREATE CAST (chip AS geometry) WITH FUNCTION geometry(chip) AS IMPLICIT;
+CREATE CAST (bytea AS geometry) WITH FUNCTION geometry(bytea) AS IMPLICIT;
+CREATE CAST (geometry AS bytea) WITH FUNCTION bytea(geometry) AS IMPLICIT;
 
 -- Casts to allow the box3d_extent type to automatically cast to box3d/box2d in queries
-CREATE CAST (box3d_extent AS box3d) WITH FUNCTION ST_box3d_extent(box3d_extent) AS IMPLICIT;
-CREATE CAST (box3d_extent AS box2d) WITH FUNCTION ST_box2d(box3d_extent) AS IMPLICIT;
-CREATE CAST (box3d_extent AS geometry) WITH FUNCTION ST_geometry(box3d_extent) AS IMPLICIT;
+CREATE CAST (box3d_extent AS box3d) WITH FUNCTION box3d_extent(box3d_extent) AS IMPLICIT;
+CREATE CAST (box3d_extent AS box2d) WITH FUNCTION box2d(box3d_extent) AS IMPLICIT;
+CREATE CAST (box3d_extent AS geometry) WITH FUNCTION geometry(box3d_extent) AS IMPLICIT;
 
 ---------------------------------------------------------------
 -- Algorithms
@@ -4000,18 +3706,6 @@ CREATE OR REPLACE FUNCTION ST_Union(geometry,geometry)
 -- Aggregates and their supporting functions
 --------------------------------------------------------------------------------
 
--- Deprecation in 1.2.3
-CREATE OR REPLACE FUNCTION collector(geometry, geometry)
-       RETURNS geometry
-       AS 'MODULE_PATHNAME', 'LWGEOM_collect'
-       LANGUAGE 'C' IMMUTABLE;
-
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_collector(geometry, geometry)
-       RETURNS geometry
-       AS 'MODULE_PATHNAME', 'LWGEOM_collect'
-       LANGUAGE 'C' IMMUTABLE;
-
 -- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION collect(geometry, geometry)
        RETURNS geometry
@@ -4038,32 +3732,6 @@ CREATE AGGREGATE ST_memcollect(
        stype = geometry
        );
 
--- Deprecation in 1.2.3
-CREATE OR REPLACE FUNCTION geom_accum (geometry[],geometry)
-       RETURNS geometry[]
-       AS 'MODULE_PATHNAME', 'LWGEOM_accum'
-       LANGUAGE 'C' IMMUTABLE;
-
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_geom_accum (geometry[],geometry)
-       RETURNS geometry[]
-       AS 'MODULE_PATHNAME', 'LWGEOM_accum'
-       LANGUAGE 'C' IMMUTABLE;
-
-
-
--- Deprecation in 1.2.3
-CREATE OR REPLACE FUNCTION collect_garray (geometry[])
-       RETURNS geometry
-       AS 'MODULE_PATHNAME', 'LWGEOM_collect_garray'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
--- Availability: 1.2.2
-CREATE OR REPLACE FUNCTION ST_collect_garray (geometry[])
-       RETURNS geometry
-       AS 'MODULE_PATHNAME', 'LWGEOM_collect_garray'
-       LANGUAGE 'C' IMMUTABLE STRICT;
-
 -- Availability: 1.2.2
 CREATE OR REPLACE FUNCTION ST_collect (geometry[])
        RETURNS geometry
@@ -4080,7 +3748,7 @@ CREATE AGGREGATE MemGeomUnion (
 -- Availability: 1.2.2
 CREATE AGGREGATE ST_MemUnion (
        basetype = geometry,
-       sfunc = ST_union,
+       sfunc = ST_Union,
        stype = geometry
        );
 
@@ -4158,20 +3826,6 @@ CREATE AGGREGATE ST_Accum (
        finalfunc = pgis_geometry_accum_finalfn
        );
 
--- TO BE REMOVED BEFORE RELEASE
-CREATE AGGREGATE accum_old (
-       sfunc = ST_geom_accum,
-       basetype = geometry,
-       stype = geometry[]
-       );
-
--- TO BE REMOVED BEFORE RELEASE
-CREATE AGGREGATE ST_accum_old (
-       sfunc = ST_geom_accum,
-       basetype = geometry,
-       stype = geometry[]
-       );
-
 -- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION unite_garray (geometry[])
        RETURNS geometry
@@ -4335,6 +3989,7 @@ CREATE OR REPLACE FUNCTION ST_Intersects(geometry,geometry)
        RETURNS boolean
        AS 'SELECT $1 && $2 AND _ST_Intersects($1,$2)'
        LANGUAGE 'SQL' IMMUTABLE;
+       
 -- Deprecation in 1.2.3
 CREATE OR REPLACE FUNCTION crosses(geometry,geometry)
        RETURNS boolean
@@ -4466,12 +4121,6 @@ CREATE OR REPLACE FUNCTION ST_IsValid(geometry)
        AS 'MODULE_PATHNAME', 'isvalid'
        LANGUAGE 'C' IMMUTABLE STRICT;
 
--- Deprecation in 1.2.3
-CREATE OR REPLACE FUNCTION GEOSnoop(geometry)
-       RETURNS geometry
-       AS 'MODULE_PATHNAME', 'GEOSnoop'
-       LANGUAGE 'C' VOLATILE STRICT;
-
 -- This is also available w/out GEOS
 CREATE OR REPLACE FUNCTION Centroid(geometry)
        RETURNS geometry
index 0d2952b93168de4b945b7c24497c2a2da2d33b4a..51d2049b34bb7607e311cb213eb3e0fa50f9b699 100644 (file)
@@ -156,37 +156,17 @@ CREATE OR REPLACE FUNCTION ST_OrderingEquals(geometry, geometry)
        $$      
        LANGUAGE 'SQL' IMMUTABLE STRICT; 
 
--- PostGIS equivalent function: zmflag(geometry)
+-- Availability: 1.5.0
 CREATE OR REPLACE FUNCTION SE_Is3D(geometry)
-       RETURNS boolean
-       AS $$ 
-       SELECT CASE ST_zmflag($1)
-              WHEN 0 THEN false
-              WHEN 1 THEN false
-              WHEN 2 THEN true
-              WHEN 3 THEN true
-              ELSE false
-          END
-       $$      
-       LANGUAGE 'SQL' IMMUTABLE STRICT; 
+       RETURNS bool
+       AS 'MODULE_PATHNAME', 'LWGEOM_hasz'
+       LANGUAGE 'C' IMMUTABLE STRICT;
 
--- PostGIS equivalent function: zmflag(geometry)
+-- Availability: 1.5.0
 CREATE OR REPLACE FUNCTION SE_IsMeasured(geometry)
-       RETURNS boolean
-       AS $$ 
-       SELECT CASE ST_zmflag($1)
-              WHEN 0 THEN false
-              WHEN 1 THEN true
-              WHEN 2 THEN false
-              WHEN 3 THEN true
-              ELSE false
-          END
-       $$      
-       LANGUAGE 'SQL' IMMUTABLE STRICT; 
-
-
-
-
+       RETURNS bool
+       AS 'MODULE_PATHNAME', 'LWGEOM_hasm'
+       LANGUAGE 'C' IMMUTABLE STRICT;
 
 -------------------------------------------------------------------------------
 -- SQL/MM (ArcSDE subset) - SQL Functions on type ST_Point
index 07ceffe27fd53ff3cde30e85c95237b86afccc0b..9b21c1c33429c1b939a528c9405ca174c198a874 100644 (file)
@@ -262,8 +262,5 @@ select '149', ST_astext(segmentize('GEOMETRYCOLLECTION EMPTY', 0.5));
 select '150', ST_asewkt(ST_force_collection(ST_setsrid('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))'::geometry, 6)));
 select '150_', asewkt(force_collection(setsrid('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))'::geometry, 6)));
 
-select '151', ST_geom_accum(NULL, NULL);
-select '151_', geom_accum(NULL, NULL);
-
 -- Drop test table
 DROP table test;
index 538ea4141da1f1f32de795c6d38278b7489068bf..81d4a5a64ca2346cb2e057a88d7b827ba5ad6f99 100644 (file)
@@ -183,5 +183,3 @@ HINT:  "MULTIPOINT(1 1, 2 2" <-- parse error at position 19 within geometry
 149|GEOMETRYCOLLECTION EMPTY
 150|SRID=6;GEOMETRYCOLLECTION(POLYGON((0 0,1 0,1 1,0 1,0 0)))
 150_|SRID=6;GEOMETRYCOLLECTION(POLYGON((0 0,1 0,1 1,0 1,0 0)))
-151|
-151_|
index 6e11cc41283aa7ee5045e0fc20d0c02afae6acc8..aff71d292d9761e8c68ae8a00518aefc0935a720 100644 (file)
@@ -10,7 +10,6 @@ SELECT 'buffer', astext(SnapToGrid(buffer('POINT(0 0)', 1, '2'), 1.0e-6));
 SELECT 'buffer', astext(SnapToGrid(buffer('POINT(0 0)', 1, '3'), 1.0e-6));
 
 SELECT 'geomunion', astext(geomunion('POINT(0 0)', 'POINT(1 1)'));
-SELECT 'unite_garray', equals(unite_garray(geom_accum('{POINT(0 0)}', 'POINT(2 3)')), 'MULTIPOINT(2 3,0 0)');
 SELECT 'convexhull', asewkt(convexhull('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0),(2 2, 2 4, 4 4, 4 2, 2 2))'));
 SELECT 'relate', relate('POINT(0 0)', 'LINESTRING(0 0, 1 1)');
 SELECT 'relate', relate('POINT(0 0)', 'LINESTRING(0 0, 1 1)', 'F0FFFF*02');
@@ -132,13 +131,10 @@ select 'intersects', intersects(
       polygonfromtext('POLYGON((0.0 2.0,1.0 2.0,1.0 3.0,0.0 3.0,0.0 2.0))')
       );
 
-select '130', geosnoop('POLYGON((0 0, 1 1, 0 0))');
-
 -- Repeat all tests with new function names.
 SELECT 'buffer', ST_astext(ST_SnapToGrid(ST_buffer('POINT(0 0)', 1, 2), 1.0e-6));
 
 SELECT 'geomunion', ST_astext(ST_union('POINT(0 0)', 'POINT(1 1)'));
-SELECT 'unite_garray', ST_equals(ST_unite_garray(ST_geom_accum('{POINT(0 0)}', 'POINT(2 3)')), 'MULTIPOINT(2 3,0 0)');
 SELECT 'convexhull', ST_asewkt(ST_convexhull('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0),(2 2, 2 4, 4 4, 4 2, 2 2))'));
 SELECT 'relate', ST_relate('POINT(0 0)', 'LINESTRING(0 0, 1 1)');
 SELECT 'relate', ST_relate('POINT(0 0)', 'LINESTRING(0 0, 1 1)', 'F0FFFF*02');
index 37b975a62dd22253d2718cbb4598287368525aae..ac40d9297019c369e70c7d1639a0c2960018a242 100644 (file)
@@ -2,7 +2,6 @@ buffer|POLYGON((1 0,0.707107 -0.707107,0 -1,-0.707107 -0.707107,-1 0,-0.707107 0
 buffer|POLYGON((1 0,0.707107 -0.707107,0 -1,-0.707107 -0.707107,-1 0,-0.707107 0.707107,0 1,0.707107 0.707107,1 0))
 buffer|POLYGON((1 0,0.866025 -0.5,0.5 -0.866025,0 -1,-0.5 -0.866025,-0.866025 -0.5,-1 0,-0.866025 0.5,-0.5 0.866025,0 1,0.5 0.866025,0.866025 0.5,1 0))
 geomunion|MULTIPOINT(0 0,1 1)
-unite_garray|t
 convexhull|POLYGON((0 0,0 10,10 10,10 0,0 0))
 relate|F0FFFF102
 relate|t
@@ -74,11 +73,8 @@ polygonize_garray|GEOMETRYCOLLECTION EMPTY
 polygonize_garray|POLYGON((10 0,0 0,0 10,10 10,10 0))
 linemerge149|LINESTRING(-5 -5,0 0,1 1,4 4)
 intersects|f
-ERROR:  geometry requires more points
-HINT:  "POLYGON((0 0, 1 1, 0 0)" <-- parse error at position 23 within geometry
 buffer|POLYGON((1 0,0.707107 -0.707107,0 -1,-0.707107 -0.707107,-1 0,-0.707107 0.707107,0 1,0.707107 0.707107,1 0))
 geomunion|MULTIPOINT(0 0,1 1)
-unite_garray|t
 convexhull|POLYGON((0 0,0 10,10 10,10 0,0 0))
 relate|F0FFFF102
 relate|t