mirror of
https://git.osgeo.org/gitea/postgis/postgis
synced 2024-10-25 01:22:47 +00:00
Update PostGIS SVN trunk to use the new 8.4 GiST API (where RECHECK is now specified within the consistent function, rather than being supplied as part of the operator class definition). This allows PostGIS to compile and pass regression tests on the latest PostgreSQL 8.4 CVS HEAD.
git-svn-id: http://svn.osgeo.org/postgis/trunk@2919 b70326c6-7e19-0410-871a-916f4a2858ee
This commit is contained in:
parent
244c935729
commit
5c15f5f575
|
@ -546,6 +546,16 @@ Datum LWGEOM_gist_consistent(PG_FUNCTION_ARGS)
|
|||
bool result;
|
||||
BOX2DFLOAT4 box;
|
||||
|
||||
#if POSTGIS_PGSQL_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);
|
||||
|
||||
/* Since the index is lossy from conversion from float8 to float4, we must
|
||||
recheck */
|
||||
*recheck = true;
|
||||
#endif
|
||||
|
||||
POSTGIS_DEBUG(2, "GIST: LWGEOM_gist_consistent called");
|
||||
|
||||
if ( ((Pointer *) PG_GETARG_DATUM(1)) == NULL )
|
||||
|
|
|
@ -991,8 +991,10 @@ CREATEFUNCTION LWGEOM_gist_decompress(internal)
|
|||
-- GIST opclass index binding entries.
|
||||
-------------------------------------------
|
||||
|
||||
#if POSTGIS_PGSQL_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
|
||||
|
@ -1018,7 +1020,37 @@ CREATE OPERATOR CLASS gist_geometry_ops
|
|||
FUNCTION 6 LWGEOM_gist_picksplit (internal, internal),
|
||||
FUNCTION 7 LWGEOM_gist_same (box2d, box2d, internal);
|
||||
|
||||
-- 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
|
||||
|
||||
|
||||
-------------------------------------------
|
||||
|
|
Loading…
Reference in a new issue