[postgis-commits] svn - r3287 - in branches/1.3: lwgeom regress

postgis-commits at postgis.refractions.net postgis-commits at postgis.refractions.net
Tue Nov 11 12:38:11 PST 2008


Author: pramsey
Date: 2008-11-11 12:38:10 -0800 (Tue, 11 Nov 2008)
New Revision: 3287

Modified:
   branches/1.3/lwgeom/lwgeom_gist.c
   branches/1.3/lwgeom/lwpostgis.sql.in
   branches/1.3/regress/run_test
Log:
PostgreSQL 8.4 support (#62)


Modified: branches/1.3/lwgeom/lwgeom_gist.c
===================================================================
--- branches/1.3/lwgeom/lwgeom_gist.c	2008-11-11 17:45:16 UTC (rev 3286)
+++ branches/1.3/lwgeom/lwgeom_gist.c	2008-11-11 20:38:10 UTC (rev 3287)
@@ -598,6 +598,16 @@
 	uchar *serialized_lwgeom;
 #endif
 
+#if USE_VERSION >= 84
+	/* PostgreSQL 8.4 and later require the RECHECK flag to be set here,
+  	   rather than being supplied as part of the operator class definition */
+	bool *recheck = (bool *) PG_GETARG_POINTER(4);
+
+	/* And since the index is lossy from conversion from float8 to float4, we must
+  	recheck */
+	*recheck = true;
+#endif
+
 #ifdef PGIS_DEBUG_CALLS
 	elog(NOTICE,"GIST: LWGEOM_gist_consistent called");
 #endif

Modified: branches/1.3/lwgeom/lwpostgis.sql.in
===================================================================
--- branches/1.3/lwgeom/lwpostgis.sql.in	2008-11-11 17:45:16 UTC (rev 3286)
+++ branches/1.3/lwgeom/lwpostgis.sql.in	2008-11-11 20:38:10 UTC (rev 3287)
@@ -1305,8 +1305,10 @@
 
 #else
 
+#if USE_VERSION < 84 
+
 --
--- Create opclass index bindings for PG>=73
+-- Create opclass index bindings for PG>=73 and PG<=83
 --
 
 CREATE OPERATOR CLASS gist_geometry_ops
@@ -1342,7 +1344,39 @@
 	
 -- TODO: add btree binding...
 
+#else
+
+--
+-- Create opclass index bindings for PG>83 
+-- (No RECHECK since this is now handled as part of the GiST Access methods)
+--
+
+CREATE OPERATOR CLASS gist_geometry_ops
+	DEFAULT FOR TYPE geometry USING gist AS
+	STORAGE 	box2d,
+	OPERATOR        1        <<,
+	OPERATOR        2        &<,
+	OPERATOR        3        &&,
+	OPERATOR        4        &>,
+	OPERATOR        5        >>,
+	OPERATOR        6        ~=,
+	OPERATOR        7        ~,
+	OPERATOR        8        @,
+	OPERATOR	9	 &<|,
+	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);
+
 #endif
+
+#endif
 	
 -------------------------------------------
 -- other lwgeom functions

Modified: branches/1.3/regress/run_test
===================================================================
--- branches/1.3/regress/run_test	2008-11-11 17:45:16 UTC (rev 3286)
+++ branches/1.3/regress/run_test	2008-11-11 20:38:10 UTC (rev 3287)
@@ -123,6 +123,8 @@
 		| grep -v "^DROP" \
 		| grep -v "^CREATE" \
 		| grep -v "^SET" \
+		| grep -v "^LINE " \
+		| grep -v "\^$" \
 		| sed 's/Infinity/inf/g;s/Inf/inf/g;s/1\.#INF/inf/g' \
 		| sed 's/[eE]\([+-]\)0\{1,\}\([0-9]\{1,\}\)/e\1\2/g' \
 		| sed 's/Self-intersection .*/Self-intersection/' \



More information about the postgis-commits mailing list