From d41b05ae116f3c1990099b84ddd16d1f3af4f6c8 Mon Sep 17 00:00:00 2001 From: Paul Ramsey Date: Thu, 5 Dec 2002 21:49:59 +0000 Subject: [PATCH] Updates to support 7.3 typecasting conventions. 7.3 support is now ready for beta testing. git-svn-id: http://svn.osgeo.org/postgis/trunk@223 b70326c6-7e19-0410-871a-916f4a2858ee --- Makefile | 6 +++--- postgis.sql.in | 36 ++++++++++++++++++------------------ postgis_gist_73.sql.in | 8 ++++++++ 3 files changed, 29 insertions(+), 21 deletions(-) diff --git a/Makefile b/Makefile index 97e91e5ad..18bb508a7 100644 --- a/Makefile +++ b/Makefile @@ -33,8 +33,8 @@ else endif #--------------------------------------------------------------- -# Test the version string and select the correct GiST index -# bindings. +# Test the version string and set the USE_VERSION macro +# appropriately. # ifneq ($(findstring 7.1,$(VERSION)),) USE_VERSION=71 @@ -52,7 +52,7 @@ endif TEST_DB=geom_regress #--------------------------------------------------------------- -# shared library parameters +# Shared library parameters. # NAME=postgis SO_MAJOR_VERSION=0 diff --git a/postgis.sql.in b/postgis.sql.in index 449a32b2a..a4d4b4eaa 100644 --- a/postgis.sql.in +++ b/postgis.sql.in @@ -19,13 +19,13 @@ LANGUAGE 'sql'; -- need this to define geometry_columns table -create function histogram2d_in(opaque) +create function histogram2d_in(CSTRING) RETURNS HISTOGRAM2D AS '@MODULE_FILENAME@' LANGUAGE 'c' with (isstrict); -create function histogram2d_out(opaque) - RETURNS opaque +create function histogram2d_out(histogram2d) + RETURNS CSTRING AS '@MODULE_FILENAME@' LANGUAGE 'c' with (isstrict); @@ -250,23 +250,23 @@ END; -CREATE FUNCTION BOX3D_in(opaque) +CREATE FUNCTION BOX3D_in(CSTRING) RETURNS BOX3D AS '@MODULE_FILENAME@' LANGUAGE 'c' with (isstrict); -CREATE FUNCTION BOX3D_out(opaque) - RETURNS opaque +CREATE FUNCTION BOX3D_out(BOX3D) + RETURNS CSTRING AS '@MODULE_FILENAME@' LANGUAGE 'c' with (isstrict); -CREATE FUNCTION SPHEROID_in(opaque) +CREATE FUNCTION SPHEROID_in(CSTRING) RETURNS SPHEROID AS '@MODULE_FILENAME@','ellipsoid_in' LANGUAGE 'c' with (isstrict,iscachable); -CREATE FUNCTION SPHEROID_out(opaque) - RETURNS opaque +CREATE FUNCTION SPHEROID_out(spheroid) + RETURNS CSTRING AS '@MODULE_FILENAME@','ellipsoid_out' LANGUAGE 'c' with (isstrict); @@ -284,7 +284,7 @@ CREATE TYPE BOX3D ( output = BOX3D_out ); -create function WKB_in(opaque) +create function WKB_in(CSTRING) RETURNS WKB AS '@MODULE_FILENAME@','WKB_in' LANGUAGE 'c' with (isstrict); @@ -292,8 +292,8 @@ create function WKB_in(opaque) -create function WKB_out(opaque) - RETURNS opaque +create function WKB_out(wkb) + RETURNS CSTRING AS '@MODULE_FILENAME@','WKB_out' LANGUAGE 'c' with (isstrict); @@ -305,13 +305,13 @@ CREATE TYPE WKB ( storage= extended ); -create function CHIP_in(opaque) +create function CHIP_in(CSTRING) RETURNS CHIP AS '@MODULE_FILENAME@','CHIP_in' LANGUAGE 'c' with (isstrict); -create function CHIP_out(opaque) - RETURNS opaque +create function CHIP_out(CHIP) + RETURNS CSTRING AS '@MODULE_FILENAME@','CHIP_out' LANGUAGE 'c' with (isstrict); @@ -392,13 +392,13 @@ CREATE FUNCTION setfactor(chip,float4) AS '@MODULE_FILENAME@','setfactor_chip' LANGUAGE 'c' with (isstrict,iscachable); -create function geometry_in(opaque) +create function geometry_in(CSTRING) RETURNS GEOMETRY AS '@MODULE_FILENAME@' LANGUAGE 'c' with (isstrict); -create function geometry_out(opaque) - RETURNS opaque +create function geometry_out(GEOMETRY) + RETURNS CSTRING AS '@MODULE_FILENAME@' LANGUAGE 'c' with (isstrict); diff --git a/postgis_gist_73.sql.in b/postgis_gist_73.sql.in index e676f6c92..d3e7fd15a 100644 --- a/postgis_gist_73.sql.in +++ b/postgis_gist_73.sql.in @@ -1,5 +1,13 @@ BEGIN TRANSACTION; +CREATE CAST ( chip AS geometry ) WITH FUNCTION geometry(chip) 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 geometry ) WITH FUNCTION geometry(box3d) AS IMPLICIT; +CREATE CAST ( text AS geometry) WITH FUNCTION geometry(text) AS IMPLICIT; +CREATE CAST ( wkb AS bytea ) WITH FUNCTION bytea(wkb) AS IMPLICIT; +CREATE CAST ( box3d AS box ) WITH FUNCTION box3dtobox(box3d); + --drop function UPDATE_GEOMETRY_STATS(); -- UPDATE_GEOMETRY_STATS() -- all tables CREATE FUNCTION UPDATE_GEOMETRY_STATS() returns text -- 2.50.1