summaryrefslogtreecommitdiff
path: root/src/include/access/gist.h
diff options
context:
space:
mode:
authorTom Lane2001-08-22 18:24:26 +0000
committerTom Lane2001-08-22 18:24:26 +0000
commit09a2ff329d3312b00aa74be09eba3b615ee8c9b4 (patch)
tree794272dff3872c9fb2fb96dfaffc49a3185fd97b /src/include/access/gist.h
parent976316e436734dafb25f1ad0e73b8da7e4795937 (diff)
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.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/include/access/gist.h b/src/include/access/gist.h
index 986c92a276..a2944d3822 100644
--- a/src/include/access/gist.h
+++ b/src/include/access/gist.h
@@ -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);