From a54075a6d6df36f4c676486b4711ccfc650bf5e2 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 22 Aug 2001 18:24:26 +0000 Subject: 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. --- src/include/access/gist.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/include/access/gist.h') 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); -- cgit v1.2.3