mirror of
https://github.com/postgres/postgres.git
synced 2025-06-30 21:42:05 +03:00
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.
This commit is contained in:
@ -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);
|
||||
|
Reference in New Issue
Block a user