aboutsummaryrefslogtreecommitdiff
path: root/src/include/access/gist.h
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>1997-09-07 05:04:48 +0000
committerBruce Momjian <bruce@momjian.us>1997-09-07 05:04:48 +0000
commit1ccd423235a48739d6f7a4d7889705b5f9ecc69b (patch)
tree8001c4e839dfad8f29ceda7f8c5f5dbb8759b564 /src/include/access/gist.h
parent8fecd4febf8357f3cc20383ed29ced484877d5ac (diff)
downloadpostgresql-1ccd423235a48739d6f7a4d7889705b5f9ecc69b.tar.gz
postgresql-1ccd423235a48739d6f7a4d7889705b5f9ecc69b.zip
Massive commit to run PGINDENT on all *.c and *.h files.
Diffstat (limited to 'src/include/access/gist.h')
-rw-r--r--src/include/access/gist.h231
1 files changed, 123 insertions, 108 deletions
diff --git a/src/include/access/gist.h b/src/include/access/gist.h
index 1e8efc18e0f..ff21dd50cd1 100644
--- a/src/include/access/gist.h
+++ b/src/include/access/gist.h
@@ -1,11 +1,11 @@
/*-------------------------------------------------------------------------
*
* gist.h--
- * common declarations for the GiST access method code.
+ * common declarations for the GiST access method code.
+ *
*
*
*
- *
*
*-------------------------------------------------------------------------
*/
@@ -21,130 +21,136 @@
#include <utils/rel.h>
#include <storage/off.h>
-/*
+/*
** You can have as many strategies as you please in GiSTs, as
** long as your consistent method can handle them
**
-** But strat.h->StrategyEvaluationData->StrategyExpression expression[12]
+** But strat.h->StrategyEvaluationData->StrategyExpression expression[12]
** - so 12 is real max # of strategies, or StrategyEvaluationIsValid
-** crashes backend... - vadim 05/21/97
+** crashes backend... - vadim 05/21/97
-#define GISTNStrategies 100
+#define GISTNStrategies 100
*/
-#define GISTNStrategies 12
+#define GISTNStrategies 12
/*
** Helper routines
*/
-#define GISTNProcs 8
-#define GIST_CONSISTENT_PROC 1
-#define GIST_UNION_PROC 2
-#define GIST_COMPRESS_PROC 3
-#define GIST_DECOMPRESS_PROC 4
-#define GIST_PENALTY_PROC 5
-#define GIST_PICKSPLIT_PROC 6
-#define GIST_EQUAL_PROC 7
-#define GIST_INFO_PROC 8
+#define GISTNProcs 8
+#define GIST_CONSISTENT_PROC 1
+#define GIST_UNION_PROC 2
+#define GIST_COMPRESS_PROC 3
+#define GIST_DECOMPRESS_PROC 4
+#define GIST_PENALTY_PROC 5
+#define GIST_PICKSPLIT_PROC 6
+#define GIST_EQUAL_PROC 7
+#define GIST_INFO_PROC 8
-#define F_LEAF (1 << 0)
+#define F_LEAF (1 << 0)
-typedef struct GISTPageOpaqueData {
- uint32 flags;
-} GISTPageOpaqueData;
+typedef struct GISTPageOpaqueData
+{
+ uint32 flags;
+} GISTPageOpaqueData;
-typedef GISTPageOpaqueData *GISTPageOpaque;
+typedef GISTPageOpaqueData *GISTPageOpaque;
#define GIST_LEAF(entry) (((GISTPageOpaque) PageGetSpecialPointer((entry)->page))->flags & F_LEAF)
/*
- * When we descend a tree, we keep a stack of parent pointers.
+ * When we descend a tree, we keep a stack of parent pointers.
*/
-typedef struct GISTSTACK {
+typedef struct GISTSTACK
+{
struct GISTSTACK *gs_parent;
OffsetNumber gs_child;
- BlockNumber gs_blk;
-} GISTSTACK;
-
-typedef struct GISTSTATE {
- func_ptr consistentFn;
- func_ptr unionFn;
- func_ptr compressFn;
- func_ptr decompressFn;
- func_ptr penaltyFn;
- func_ptr picksplitFn;
- func_ptr equalFn;
- bool haskeytype;
- bool keytypbyval;
-} GISTSTATE;
+ BlockNumber gs_blk;
+} GISTSTACK;
+
+typedef struct GISTSTATE
+{
+ func_ptr consistentFn;
+ func_ptr unionFn;
+ func_ptr compressFn;
+ func_ptr decompressFn;
+ func_ptr penaltyFn;
+ func_ptr picksplitFn;
+ func_ptr equalFn;
+ bool haskeytype;
+ bool keytypbyval;
+} GISTSTATE;
/*
-** When we're doing a scan, we need to keep track of the parent stack
-** for the marked and current items.
+** When we're doing a scan, we need to keep track of the parent stack
+** for the marked and current items.
*/
-typedef struct GISTScanOpaqueData {
- struct GISTSTACK *s_stack;
- struct GISTSTACK *s_markstk;
- uint16 s_flags;
- struct GISTSTATE *giststate;
-} GISTScanOpaqueData;
+typedef struct GISTScanOpaqueData
+{
+ struct GISTSTACK *s_stack;
+ struct GISTSTACK *s_markstk;
+ uint16 s_flags;
+ struct GISTSTATE *giststate;
+} GISTScanOpaqueData;
-typedef GISTScanOpaqueData *GISTScanOpaque;
+typedef GISTScanOpaqueData *GISTScanOpaque;
/*
-** When we're doing a scan and updating a tree at the same time, the
-** updates may affect the scan. We use the flags entry of the scan's
-** opaque space to record our actual position in response to updates
-** that we can't handle simply by adjusting pointers.
+** When we're doing a scan and updating a tree at the same time, the
+** updates may affect the scan. We use the flags entry of the scan's
+** opaque space to record our actual position in response to updates
+** that we can't handle simply by adjusting pointers.
*/
#define GS_CURBEFORE ((uint16) (1 << 0))
#define GS_MRKBEFORE ((uint16) (1 << 1))
/* root page of a gist */
-#define GISTP_ROOT 0
+#define GISTP_ROOT 0
/*
-** When we update a relation on which we're doing a scan, we need to
-** check the scan and fix it if the update affected any of the pages it
-** touches. Otherwise, we can miss records that we should see. The only
-** times we need to do this are for deletions and splits. See the code in
-** gistscan.c for how the scan is fixed. These two constants tell us what sort
-** of operation changed the index.
+** When we update a relation on which we're doing a scan, we need to
+** check the scan and fix it if the update affected any of the pages it
+** touches. Otherwise, we can miss records that we should see. The only
+** times we need to do this are for deletions and splits. See the code in
+** gistscan.c for how the scan is fixed. These two constants tell us what sort
+** of operation changed the index.
*/
-#define GISTOP_DEL 0
-#define GISTOP_SPLIT 1
+#define GISTOP_DEL 0
+#define GISTOP_SPLIT 1
/*
** This is the Split Vector to be returned by the PickSplit method.
*/
-typedef struct GIST_SPLITVEC {
- OffsetNumber *spl_left; /* array of entries that go left */
- int spl_nleft; /* size of this array */
- char *spl_ldatum; /* Union of keys in spl_left */
- OffsetNumber *spl_right; /* array of entries that go right */
- int spl_nright; /* size of the array */
- char *spl_rdatum; /* Union of keys in spl_right */
-} GIST_SPLITVEC;
+typedef struct GIST_SPLITVEC
+{
+ OffsetNumber *spl_left; /* array of entries that go left */
+ int spl_nleft; /* size of this array */
+ char *spl_ldatum; /* Union of keys in spl_left */
+ OffsetNumber *spl_right; /* array of entries that go right */
+ int spl_nright; /* size of the array */
+ char *spl_rdatum; /* Union of keys in spl_right */
+} GIST_SPLITVEC;
/*
-** An entry on a GiST node. Contains the key (pred), as well as
+** An entry on a GiST node. Contains the key (pred), as well as
** its own location (rel,page,offset) which can supply the matching
** pointer. The size of the pred is in bytes, and leafkey is a flag to
** tell us if the entry is in a leaf node.
*/
-typedef struct GISTENTRY {
- char *pred;
- Relation rel;
- Page page;
- OffsetNumber offset;
- int bytes;
- bool leafkey;
-} GISTENTRY;
+typedef struct GISTENTRY
+{
+ char *pred;
+ Relation rel;
+ Page page;
+ OffsetNumber offset;
+ int bytes;
+ bool leafkey;
+} GISTENTRY;
/*
** macro to initialize a GISTENTRY
@@ -156,40 +162,49 @@ typedef struct GISTENTRY {
#define TRLOWER(tr) (((tr)->bytes))
#define TRUPPER(tr) (&((tr)->bytes[MAXALIGN(VARSIZE(TRLOWER(tr)))]))
-typedef struct txtrange {
- /* flag: NINF means that lower is negative infinity; PINF means that
- ** upper is positive infinity. 0 means that both are numbers.
- */
- int32 vl_len;
- int32 flag;
- char bytes[2];
-} TXTRANGE;
-
-typedef struct intrange {
- int lower;
- int upper;
- /* flag: NINF means that lower is negative infinity; PINF means that
- ** upper is positive infinity. 0 means that both are numbers.
- */
- int flag;
-} INTRANGE;
-
-extern void gistbuild(Relation heap,
- Relation index, int natts,
- AttrNumber *attnum, IndexStrategy istrat,
- uint16 pint, Datum *params,
- FuncIndexInfo *finfo,
- PredInfo *predInfo);
-extern InsertIndexResult gistinsert(Relation r, Datum *datum,
- char *nulls,ItemPointer ht_ctid, Relation heapRel);
-extern void _gistdump(Relation r);
-extern void gistfreestack(GISTSTACK *s);
-extern void initGISTstate(GISTSTATE *giststate, Relation index);
-extern void gistdentryinit(GISTSTATE *giststate, GISTENTRY *e, char *pr,
- Relation r, Page pg, OffsetNumber o, int b, bool l) ;
+typedef struct txtrange
+{
+
+ /*
+ * flag: NINF means that lower is negative infinity; PINF means that *
+ * upper is positive infinity. 0 means that both are numbers.
+ */
+ int32 vl_len;
+ int32 flag;
+ char bytes[2];
+} TXTRANGE;
+
+typedef struct intrange
+{
+ int lower;
+ int upper;
+
+ /*
+ * flag: NINF means that lower is negative infinity; PINF means that *
+ * upper is positive infinity. 0 means that both are numbers.
+ */
+ int flag;
+} INTRANGE;
+
+extern void
+gistbuild(Relation heap,
+ Relation index, int natts,
+ AttrNumber * attnum, IndexStrategy istrat,
+ uint16 pint, Datum * params,
+ FuncIndexInfo * finfo,
+ PredInfo * predInfo);
+extern InsertIndexResult
+gistinsert(Relation r, Datum * datum,
+ char *nulls, ItemPointer ht_ctid, Relation heapRel);
+extern void _gistdump(Relation r);
+extern void gistfreestack(GISTSTACK * s);
+extern void initGISTstate(GISTSTATE * giststate, Relation index);
+extern void
+gistdentryinit(GISTSTATE * giststate, GISTENTRY * e, char *pr,
+ Relation r, Page pg, OffsetNumber o, int b, bool l);
extern StrategyNumber RelationGetGISTStrategy(Relation, AttrNumber, RegProcedure);
/* gistget.c */
extern RetrieveIndexResult gistgettuple(IndexScanDesc s, ScanDirection dir);
-#endif /* GIST_H */
+#endif /* GIST_H */