diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2001-08-22 18:24:26 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2001-08-22 18:24:26 +0000 |
commit | a54075a6d6df36f4c676486b4711ccfc650bf5e2 (patch) | |
tree | 06f95f3ebba713e52fd7a61404d9b012b58e4e76 /src/include/access/gist.h | |
parent | 38a4c3511695c21be936c0c278daf9a67ec12b2c (diff) | |
download | postgresql-a54075a6d6df36f4c676486b4711ccfc650bf5e2.tar.gz postgresql-a54075a6d6df36f4c676486b4711ccfc650bf5e2.zip |
Update GiST for new pg_opclass arrangement (finally a clean solution
for haskeytype). Update GiST contrib modules too. Add linear-time split
algorithm for R-tree GiST opclass.
From Oleg Bartunov and Teodor Sigaev.
Diffstat (limited to 'src/include/access/gist.h')
-rw-r--r-- | src/include/access/gist.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/include/access/gist.h b/src/include/access/gist.h index 760c025af6d..d6bce8d8451 100644 --- a/src/include/access/gist.h +++ b/src/include/access/gist.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: gist.h,v 1.31 2001/08/21 16:36:05 tgl Exp $ + * $Id: gist.h,v 1.32 2001/08/22 18:24:26 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -72,11 +72,11 @@ typedef struct GISTSTATE FmgrInfo penaltyFn[INDEX_MAX_KEYS]; FmgrInfo picksplitFn[INDEX_MAX_KEYS]; FmgrInfo equalFn[INDEX_MAX_KEYS]; - bool attbyval[INDEX_MAX_KEYS]; - bool haskeytype[INDEX_MAX_KEYS]; - bool keytypbyval[INDEX_MAX_KEYS]; + + TupleDesc tupdesc; } GISTSTATE; +#define isAttByVal( gs, anum ) (gs)->tupdesc->attrs[anum]->attbyval /* * When we're doing a scan, we need to keep track of the parent stack @@ -169,6 +169,7 @@ extern Datum gistbulkdelete(PG_FUNCTION_ARGS); extern void _gistdump(Relation r); extern void gistfreestack(GISTSTACK *s); extern void initGISTstate(GISTSTATE *giststate, Relation index); +extern void freeGISTstate(GISTSTATE *giststate); extern void gistdentryinit(GISTSTATE *giststate, int nkey, GISTENTRY *e, Datum k, Relation r, Page pg, OffsetNumber o, int b, bool l, bool isNull); |