RETURNS geometry
AS 'MODULE_PATHNAME','BOX3D_to_LWGEOM'
LANGUAGE 'C' IMMUTABLE STRICT;
+
-- End of temporary hack
-- Deprecation in 1.2.3
storage = plain
);
----- BOX2D support functions
-
--- Deprecation in 1.2.3
-CREATE OR REPLACE FUNCTION 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;
-
--- Deprecation in 1.2.3
-CREATE OR REPLACE FUNCTION 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;
-
--- Deprecation in 1.2.3
-CREATE OR REPLACE FUNCTION 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;
-
--- Deprecation in 1.2.3
-CREATE OR REPLACE FUNCTION 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;
-
--- Deprecation in 1.2.3
-CREATE OR REPLACE FUNCTION box2d_intersects(box2d, box2d)
- RETURNS bool
- AS 'MODULE_PATHNAME', 'BOX2D_intersects'
- LANGUAGE 'C' IMMUTABLE STRICT;
-
-
--- lwgeom operator support functions
-------------------------------------------------------------------
-- BTREE indexes
-- GiST indexes
-------------------------------------------------------------------
+-- Deprecation in 1.5.0
+CREATE OR REPLACE FUNCTION postgis_gist_sel (internal, oid, internal, int4)
+ RETURNS float8
+ AS 'MODULE_PATHNAME', 'LWGEOM_gist_sel'
+ LANGUAGE 'C';
+
+-- Deprecation in 1.5.0
+CREATE OR REPLACE FUNCTION postgis_gist_joinsel(internal, oid, internal, smallint)
+ RETURNS float8
+ AS 'MODULE_PATHNAME', 'LWGEOM_gist_joinsel'
+ LANGUAGE 'C';
+
-- Deprecation in 1.5.0
CREATE OR REPLACE FUNCTION st_postgis_gist_sel (internal, oid, internal, int4)
RETURNS float8
AS 'MODULE_PATHNAME', 'LWGEOM_samebox'
LANGUAGE 'C' IMMUTABLE STRICT;
+-- Deprecation in 1.5.0
+CREATE OR REPLACE FUNCTION geometry_same(geometry, geometry)
+ RETURNS bool
+ AS 'MODULE_PATHNAME', 'LWGEOM_samebox'
+ LANGUAGE 'C' IMMUTABLE STRICT;
+
CREATE OR REPLACE FUNCTION geometry_gist_sel (internal, oid, internal, int4)
RETURNS float8
AS 'MODULE_PATHNAME', 'LWGEOM_gist_sel'
-- CASTS
---------------------------------------------------------------
-CREATE OR REPLACE FUNCTION box2d(geometry)
- RETURNS box2d
- AS 'MODULE_PATHNAME','LWGEOM_to_BOX2DFLOAT4'
- LANGUAGE 'C' IMMUTABLE STRICT;
+-- Legacy ST_ variants of casts, to be removed in 2.0
-- Deprecation in 1.5.0
-CREATE OR REPLACE FUNCTION ST_box2d(geometry)
+CREATE OR REPLACE FUNCTION st_box2d(geometry)
RETURNS box2d
AS 'MODULE_PATHNAME','LWGEOM_to_BOX2DFLOAT4'
LANGUAGE 'C' IMMUTABLE STRICT;
-CREATE OR REPLACE FUNCTION box3d(geometry)
+-- 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.5.0
-CREATE OR REPLACE FUNCTION ST_box3d(geometry)
+CREATE OR REPLACE FUNCTION st_box(geometry)
+ RETURNS box
+ AS 'MODULE_PATHNAME','LWGEOM_to_BOX'
+ LANGUAGE 'C' IMMUTABLE STRICT;
+
+-- 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.5.0
+CREATE OR REPLACE FUNCTION st_box3d(box2d)
RETURNS box3d
- AS 'MODULE_PATHNAME','LWGEOM_to_BOX3D'
+ AS 'MODULE_PATHNAME','BOX2DFLOAT4_to_BOX3D'
LANGUAGE 'C' IMMUTABLE STRICT;
-CREATE OR REPLACE FUNCTION box(geometry)
+-- Deprecation in 1.5.0
+CREATE OR REPLACE FUNCTION st_box(box3d)
RETURNS box
- AS 'MODULE_PATHNAME','LWGEOM_to_BOX'
+ AS 'MODULE_PATHNAME','BOX3D_to_BOX'
LANGUAGE 'C' IMMUTABLE STRICT;
-- Deprecation in 1.5.0
-CREATE OR REPLACE FUNCTION ST_box(geometry)
- RETURNS box
- AS 'MODULE_PATHNAME','LWGEOM_to_BOX'
+CREATE OR REPLACE FUNCTION st_text(geometry)
+ RETURNS text
+ AS 'MODULE_PATHNAME','LWGEOM_to_text'
LANGUAGE 'C' IMMUTABLE STRICT;
-CREATE OR REPLACE FUNCTION box2d(box3d)
- RETURNS box2d
- AS 'MODULE_PATHNAME','BOX3D_to_BOX2DFLOAT4'
+-- 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.5.0
-CREATE OR REPLACE FUNCTION ST_box2d(box3d)
- RETURNS box2d
- AS 'MODULE_PATHNAME','BOX3D_to_BOX2DFLOAT4'
+CREATE OR REPLACE FUNCTION st_geometry(box3d)
+ RETURNS geometry
+ AS 'MODULE_PATHNAME','BOX3D_to_LWGEOM'
LANGUAGE 'C' IMMUTABLE STRICT;
-CREATE OR REPLACE FUNCTION box3d(box2d)
+-- 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.5.0
+CREATE OR REPLACE FUNCTION st_geometry(chip)
+ RETURNS geometry
+ AS 'MODULE_PATHNAME','CHIP_to_LWGEOM'
+ LANGUAGE 'C' IMMUTABLE STRICT;
+
+-- 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.5.0
+CREATE OR REPLACE FUNCTION st_bytea(geometry)
+ RETURNS bytea
+ AS 'MODULE_PATHNAME','LWGEOM_to_bytea'
+ LANGUAGE 'C' IMMUTABLE STRICT;
+
+-- Deprecation in 1.5.0
+CREATE OR REPLACE FUNCTION st_box3d_extent(box3d_extent)
RETURNS box3d
- AS 'MODULE_PATHNAME','BOX2DFLOAT4_to_BOX3D'
+ AS 'MODULE_PATHNAME', 'BOX3D_extent_to_BOX3D'
LANGUAGE 'C' IMMUTABLE STRICT;
-- Deprecation in 1.5.0
-CREATE OR REPLACE FUNCTION ST_box3d(box2d)
+CREATE OR REPLACE FUNCTION st_box2d(box3d_extent)
+ RETURNS box2d
+ AS 'MODULE_PATHNAME', 'BOX3D_to_BOX2DFLOAT4'
+ LANGUAGE 'C' IMMUTABLE STRICT;
+
+-- Deprecation in 1.5.0
+CREATE OR REPLACE FUNCTION st_geometry(box3d_extent)
+ RETURNS geometry
+ AS 'MODULE_PATHNAME','BOX3D_to_LWGEOM'
+ LANGUAGE 'C' IMMUTABLE STRICT;
+
+-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+
+CREATE OR REPLACE FUNCTION box2d(geometry)
+ RETURNS box2d
+ AS 'MODULE_PATHNAME','LWGEOM_to_BOX2DFLOAT4'
+ LANGUAGE 'C' IMMUTABLE STRICT;
+
+CREATE OR REPLACE FUNCTION box3d(geometry)
RETURNS box3d
- AS 'MODULE_PATHNAME','BOX2DFLOAT4_to_BOX3D'
+ AS 'MODULE_PATHNAME','LWGEOM_to_BOX3D'
LANGUAGE 'C' IMMUTABLE STRICT;
-CREATE OR REPLACE FUNCTION box(box3d)
+CREATE OR REPLACE FUNCTION box(geometry)
RETURNS box
- AS 'MODULE_PATHNAME','BOX3D_to_BOX'
+ AS 'MODULE_PATHNAME','LWGEOM_to_BOX'
LANGUAGE 'C' IMMUTABLE STRICT;
--- Deprecation in 1.5.0
-CREATE OR REPLACE FUNCTION ST_box(box3d)
+CREATE OR REPLACE FUNCTION box2d(box3d)
+ RETURNS box2d
+ AS 'MODULE_PATHNAME','BOX3D_to_BOX2DFLOAT4'
+ LANGUAGE 'C' IMMUTABLE STRICT;
+
+CREATE OR REPLACE FUNCTION box3d(box2d)
+ RETURNS box3d
+ AS 'MODULE_PATHNAME','BOX2DFLOAT4_to_BOX3D'
+ LANGUAGE 'C' IMMUTABLE STRICT;
+
+CREATE OR REPLACE FUNCTION box(box3d)
RETURNS box
AS 'MODULE_PATHNAME','BOX3D_to_BOX'
LANGUAGE 'C' IMMUTABLE STRICT;
AS 'MODULE_PATHNAME','LWGEOM_to_text'
LANGUAGE 'C' IMMUTABLE STRICT;
--- Deprecation in 1.5.0
-CREATE OR REPLACE FUNCTION ST_text(geometry)
- RETURNS text
- AS 'MODULE_PATHNAME','LWGEOM_to_text'
- LANGUAGE 'C' IMMUTABLE STRICT;
-
-- this is kept for backward-compatibility
-- Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION box3dtobox(box3d)
AS 'MODULE_PATHNAME','BOX2DFLOAT4_to_LWGEOM'
LANGUAGE 'C' IMMUTABLE STRICT;
--- Deprecation in 1.5.0
-CREATE OR REPLACE FUNCTION ST_geometry(box2d)
- RETURNS geometry
- AS 'MODULE_PATHNAME','BOX2DFLOAT4_to_LWGEOM'
- LANGUAGE 'C' IMMUTABLE STRICT;
-
CREATE OR REPLACE FUNCTION geometry(box3d)
RETURNS geometry
AS 'MODULE_PATHNAME','BOX3D_to_LWGEOM'
LANGUAGE 'C' IMMUTABLE STRICT;
--- Deprecation in 1.5.0
-CREATE OR REPLACE FUNCTION ST_geometry(box3d)
- RETURNS geometry
- AS 'MODULE_PATHNAME','BOX3D_to_LWGEOM'
- LANGUAGE 'C' IMMUTABLE STRICT;
-
CREATE OR REPLACE FUNCTION geometry(text)
RETURNS geometry
AS 'MODULE_PATHNAME','parse_WKT_lwgeom'
LANGUAGE 'C' IMMUTABLE STRICT;
--- Deprecation in 1.5.0
-CREATE OR REPLACE FUNCTION ST_geometry(text)
- RETURNS geometry
- AS 'MODULE_PATHNAME','parse_WKT_lwgeom'
- LANGUAGE 'C' IMMUTABLE STRICT;
-
CREATE OR REPLACE FUNCTION geometry(chip)
RETURNS geometry
AS 'MODULE_PATHNAME','CHIP_to_LWGEOM'
LANGUAGE 'C' IMMUTABLE STRICT;
--- Deprecation in 1.5.0
-CREATE OR REPLACE FUNCTION ST_geometry(chip)
- RETURNS geometry
- AS 'MODULE_PATHNAME','CHIP_to_LWGEOM'
- LANGUAGE 'C' IMMUTABLE STRICT;
-
CREATE OR REPLACE FUNCTION geometry(bytea)
RETURNS geometry
AS 'MODULE_PATHNAME','LWGEOM_from_bytea'
LANGUAGE 'C' IMMUTABLE STRICT;
--- Deprecation in 1.5.0
-CREATE OR REPLACE FUNCTION ST_geometry(bytea)
- RETURNS geometry
- AS 'MODULE_PATHNAME','LWGEOM_from_bytea'
- LANGUAGE 'C' IMMUTABLE STRICT;
-
CREATE OR REPLACE FUNCTION bytea(geometry)
RETURNS bytea
AS 'MODULE_PATHNAME','LWGEOM_to_bytea'
LANGUAGE 'C' IMMUTABLE STRICT;
--- 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 box2d(geometry) AS IMPLICIT;
CREATE CAST (geometry AS box3d) WITH FUNCTION box3d(geometry) AS IMPLICIT;
LANGUAGE 'sql' IMMUTABLE STRICT;
COMMIT;
+#include "postgis_drop.sql.in.c"
\ No newline at end of file
--- /dev/null
+-- First drop old aggregates
+DROP AGGREGATE IF EXISTS geomunion(geometry);
+DROP AGGREGATE IF EXISTS st_geomunion(geometry);
+DROP AGGREGATE IF EXISTS accum_old(geometry);
+DROP AGGREGATE IF EXISTS st_accum_old(geometry);
+
+-- Then drop old functions
+DROP FUNCTION IF EXISTS box2d_overleft(box2d, box2d);
+DROP FUNCTION IF EXISTS box2d_overright(box2d, box2d);
+DROP FUNCTION IF EXISTS box2d_left(box2d, box2d);
+DROP FUNCTION IF EXISTS box2d_right(box2d, box2d);
+DROP FUNCTION IF EXISTS box2d_contain(box2d, box2d);
+DROP FUNCTION IF EXISTS box2d_contained(box2d, box2d);
+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 box2d_overleft(box2d, box2d);
+DROP FUNCTION IF EXISTS st_box2d_overright(box2d, box2d);
+DROP FUNCTION IF EXISTS st_box2d_left(box2d, box2d);
+DROP FUNCTION IF EXISTS st_box2d_right(box2d, box2d);
+DROP FUNCTION IF EXISTS st_box2d_contain(box2d, box2d);
+DROP FUNCTION IF EXISTS st_box2d_contained(box2d, box2d);
+DROP FUNCTION IF EXISTS st_box2d_overlap(box2d, box2d);
+DROP FUNCTION IF EXISTS st_box2d_same(box2d, box2d);
+DROP FUNCTION IF EXISTS st_box2d_intersects(box2d, box2d);
+DROP FUNCTION IF EXISTS st_box2d_overleft(box2d, box2d);
+DROP FUNCTION IF EXISTS st_addbbox(geometry);
+DROP FUNCTION IF EXISTS st_dropbbox(geometry);
+DROP FUNCTION IF EXISTS st_hasbbox(geometry);
+DROP FUNCTION IF EXISTS cache_bbox();
+DROP FUNCTION IF EXISTS st_cache_bbox();
+DROP FUNCTION IF EXISTS transform_geometry(geometry,text,text,int);
+DROP FUNCTION IF EXISTS collector(geometry, geometry);
+DROP FUNCTION IF EXISTS st_collector(geometry, geometry);
+DROP FUNCTION IF EXISTS geom_accum (geometry[],geometry);
+DROP FUNCTION IF EXISTS st_geom_accum (geometry[],geometry);
+DROP FUNCTION IF EXISTS collect_garray (geometry[]);
+DROP FUNCTION IF EXISTS st_collect_garray (geometry[]);
+DROP FUNCTION IF EXISTS geosnoop(geometry);
+DROP FUNCTION IF EXISTS jtsnoop(geometry);
+DROP FUNCTION IF EXISTS st_noop(geometry);
+
+