]> granicus.if.org Git - postgis/commitdiff
harmonize sql functions with c functions for prepared geometry
authorPaul Ramsey <pramsey@cleverelephant.ca>
Fri, 26 Sep 2008 21:46:23 +0000 (21:46 +0000)
committerPaul Ramsey <pramsey@cleverelephant.ca>
Fri, 26 Sep 2008 21:46:23 +0000 (21:46 +0000)
git-svn-id: http://svn.osgeo.org/postgis/trunk@3020 b70326c6-7e19-0410-871a-916f4a2858ee

lwgeom/lwgeom_geos_c.c
lwgeom/lwpostgis.sql.in.c

index e8b0d118fdf21e2c655e5941f7d2b56b15e66ae8..a53657e912948168d7702bfdf662c91dceb900ed 100644 (file)
@@ -3597,12 +3597,11 @@ Datum containsProperlyPrepared(PG_FUNCTION_ARGS)
        BOX2DFLOAT4                     box1, box2;
        PREPARED_GEOM_CACHE *   prep_cache;
        MemoryContext                   old_context;
-       int32                                   key1, key2;
+       int32                                   key1;
 
        geom1 = (PG_LWGEOM *)  PG_DETOAST_DATUM(PG_GETARG_DATUM(0));
-       key1 = PG_GETARG_INT32(1);
-       geom2 = (PG_LWGEOM *)  PG_DETOAST_DATUM(PG_GETARG_DATUM(2));
-       key2 = PG_GETARG_INT32(3);
+       geom2 = (PG_LWGEOM *)  PG_DETOAST_DATUM(PG_GETARG_DATUM(1));
+       key1 = PG_GETARG_INT32(2);
        
        errorIfGeometryCollection(geom1,geom2);
        errorIfSRIDMismatch(pglwgeom_getSRID(geom1), pglwgeom_getSRID(geom2));
@@ -3671,13 +3670,12 @@ Datum coversPrepared(PG_FUNCTION_ARGS)
        BOX2DFLOAT4                     box1, box2;
        PREPARED_GEOM_CACHE *   prep_cache;
        MemoryContext                   old_context;
-       int32                                   key1, key2;
+       int32                                   key1;
 
        geom1 = (PG_LWGEOM *)  PG_DETOAST_DATUM(PG_GETARG_DATUM(0));
-       key1 = PG_GETARG_INT32(1);
-       geom2 = (PG_LWGEOM *)  PG_DETOAST_DATUM(PG_GETARG_DATUM(2));
-       key2 = PG_GETARG_INT32(3);
-       
+       geom2 = (PG_LWGEOM *)  PG_DETOAST_DATUM(PG_GETARG_DATUM(1));
+       key1 = PG_GETARG_INT32(2);
+
        errorIfGeometryCollection(geom1,geom2);
        errorIfSRIDMismatch(pglwgeom_getSRID(geom1), pglwgeom_getSRID(geom2));
 
@@ -3749,8 +3747,8 @@ Datum intersectsPrepared(PG_FUNCTION_ARGS)
        int32                                   key1, key2;
 
        geom1 = (PG_LWGEOM *)  PG_DETOAST_DATUM(PG_GETARG_DATUM(0));
-       key1 = PG_GETARG_INT32(1);
-       geom2 = (PG_LWGEOM *)  PG_DETOAST_DATUM(PG_GETARG_DATUM(2));
+       geom2 = (PG_LWGEOM *)  PG_DETOAST_DATUM(PG_GETARG_DATUM(1));
+       key1 = PG_GETARG_INT32(2);
        key2 = PG_GETARG_INT32(3);
        
        errorIfGeometryCollection(geom1,geom2);
index e3f8db83b792ade2cc05738371b6a46665825b96..d9906bf5e140e580a91fb53f4e2b99863033a5a8 100644 (file)
@@ -4026,16 +4026,16 @@ CREATEFUNCTION ST_Covers(geometry,geometry,integer)
     LANGUAGE 'SQL' _IMMUTABLE; -- WITH (iscachable);
 
 -- Availability: 1.4.0
-CREATEFUNCTION _ST_IntersectsPrepared(geometry,geometry,integer)
+CREATEFUNCTION _ST_IntersectsPrepared(geometry,geometry,integer,integer)
     RETURNS boolean
     AS 'MODULE_PATHNAME','intersectsPrepared'
     LANGUAGE 'C' _IMMUTABLE_STRICT; -- WITH (isstrict,iscachable);
        
 -- Availability: 1.4.0
 -- Inlines index magic
-CREATEFUNCTION ST_Intersects(geometry,geometry,integer)
+CREATEFUNCTION ST_Intersects(geometry,geometry,integer,integer)
     RETURNS boolean
-    AS 'SELECT $1 && $2 AND _ST_IntersectsPrepared($1,$2,$3)'
+    AS 'SELECT $1 && $2 AND _ST_IntersectsPrepared($1,$2,$3,$4)'
     LANGUAGE 'SQL' _IMMUTABLE; -- WITH (iscachable);
 
 #endif