aboutsummaryrefslogtreecommitdiff
path: root/src/include/access/gist.h
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2001-08-22 18:24:26 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2001-08-22 18:24:26 +0000
commita54075a6d6df36f4c676486b4711ccfc650bf5e2 (patch)
tree06f95f3ebba713e52fd7a61404d9b012b58e4e76 /src/include/access/gist.h
parent38a4c3511695c21be936c0c278daf9a67ec12b2c (diff)
downloadpostgresql-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.h9
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);