[postgis-commits] svn - r2731 - trunk/lwgeom
postgis-commits at postgis.refractions.net
postgis-commits at postgis.refractions.net
Thu Jan 17 17:05:30 PST 2008
Author: benjubb
Date: 2008-01-17 17:05:30 -0800 (Thu, 17 Jan 2008)
New Revision: 2731
Modified:
trunk/lwgeom/lwpostgis.sql.in
Log:
Added new function wrappers to expose prepared geometry predicates:
ST_ContainsPrepared( geometry, geometry )
ST_ContainsProperlyPrepared( geometry, geometry )
ST_CoversPrepared( geometry, geometry )
ST_IntersectsPrepared( geometry, geometry )
as well, this function was added, for orthogonality:
ST_ContainsProperly( geometry, geometry )
Modified: trunk/lwgeom/lwpostgis.sql.in
===================================================================
--- trunk/lwgeom/lwpostgis.sql.in 2008-01-18 01:04:18 UTC (rev 2730)
+++ trunk/lwgeom/lwpostgis.sql.in 2008-01-18 01:05:30 UTC (rev 2731)
@@ -4632,6 +4632,70 @@
LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable);
-----------------------------------------------------------------------
+-- Prepared Geometry Predicates
+-- requires GEOS 3.2.0-CAPI-1.5.0
+-----------------------------------------------------------------------
+
+CREATEFUNCTION _ST_ContainsPrepared(geometry,geometry)
+ RETURNS boolean
+ AS '@MODULE_FILENAME@','containsPrepared'
+ LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable);
+
+-- Availability: 1.3.3
+-- Inlines index magic
+CREATEFUNCTION ST_ContainsPrepared(geometry,geometry)
+ RETURNS boolean
+ AS 'SELECT $1 && $2 AND _ST_ContainsPrepared($1,$2)'
+ LANGUAGE 'SQL' _IMMUTABLE; -- WITH (iscachable);
+
+
+CREATEFUNCTION _ST_ContainsProperlyPrepared(geometry,geometry)
+ RETURNS boolean
+ AS '@MODULE_FILENAME@','containsProperlyPrepared'
+ LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable);
+
+-- Availability: 1.3.3
+-- Inlines index magic
+CREATEFUNCTION ST_ContainsProperlyPrepared(geometry,geometry)
+ RETURNS boolean
+ AS 'SELECT $1 && $2 AND _ST_ContainsProperlyPrepared($1,$2)'
+ LANGUAGE 'SQL' _IMMUTABLE; -- WITH (iscachable);
+
+
+-- Availability: 1.3.3
+-- Added for completeness, and to make testing ST_ContainsProperlyPrepared easier
+CREATE OR REPLACE FUNCTION ST_ContainsProperly(geometry,geometry)
+ RETURNS boolean
+ AS 'SELECT $1 && $2 AND ST_relate($1,$2,''T**FF*FF*'')'
+ LANGUAGE 'SQL' IMMUTABLE;
+
+
+CREATEFUNCTION _ST_CoversPrepared(geometry,geometry)
+ RETURNS boolean
+ AS '@MODULE_FILENAME@','coversPrepared'
+ LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable);
+
+-- Availability: 1.3.3
+-- Inlines index magic
+CREATEFUNCTION ST_CoversPrepared(geometry,geometry)
+ RETURNS boolean
+ AS 'SELECT $1 && $2 AND _ST_CoversPrepared($1,$2)'
+ LANGUAGE 'SQL' _IMMUTABLE; -- WITH (iscachable);
+
+
+CREATEFUNCTION _ST_IntersectsPrepared(geometry,geometry)
+ RETURNS boolean
+ AS '@MODULE_FILENAME@','intersectsPrepared'
+ LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable);
+
+-- Availability: 1.3.3
+-- Inlines index magic
+CREATEFUNCTION ST_IntersectsPrepared(geometry,geometry)
+ RETURNS boolean
+ AS 'SELECT $1 && $2 AND _ST_IntersectsPrepared($1,$2)'
+ LANGUAGE 'SQL' _IMMUTABLE; -- WITH (iscachable);
+
+-----------------------------------------------------------------------
-- SVG OUTPUT
-----------------------------------------------------------------------
-- Deprecation in 1.2.3
More information about the postgis-commits
mailing list