#include "access/xlog.h"#include "access/xlogdefs.h"#include "storage/block.h"#include "storage/bufpage.h"#include "utils/relcache.h"

Go to the source code of this file.
Data Structures | |
| struct | GISTPageOpaqueData |
| struct | GIST_SPLITVEC |
| struct | GISTENTRY |
| struct | GistEntryVector |
Defines | |
| #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_DISTANCE_PROC 8 |
| #define | GISTNProcs 8 |
| #define | RTLeftStrategyNumber 1 |
| #define | RTOverLeftStrategyNumber 2 |
| #define | RTOverlapStrategyNumber 3 |
| #define | RTOverRightStrategyNumber 4 |
| #define | RTRightStrategyNumber 5 |
| #define | RTSameStrategyNumber 6 |
| #define | RTContainsStrategyNumber 7 |
| #define | RTContainedByStrategyNumber 8 |
| #define | RTOverBelowStrategyNumber 9 |
| #define | RTBelowStrategyNumber 10 |
| #define | RTAboveStrategyNumber 11 |
| #define | RTOverAboveStrategyNumber 12 |
| #define | RTOldContainsStrategyNumber 13 |
| #define | RTOldContainedByStrategyNumber 14 |
| #define | RTKNNSearchStrategyNumber 15 |
| #define | F_LEAF (1 << 0) |
| #define | F_DELETED (1 << 1) |
| #define | F_TUPLES_DELETED (1 << 2) |
| #define | F_FOLLOW_RIGHT (1 << 3) |
| #define | GIST_PAGE_ID 0xFF81 |
| #define | GistPageGetOpaque(page) ( (GISTPageOpaque) PageGetSpecialPointer(page) ) |
| #define | GistPageIsLeaf(page) ( GistPageGetOpaque(page)->flags & F_LEAF) |
| #define | GIST_LEAF(entry) (GistPageIsLeaf((entry)->page)) |
| #define | GistPageSetLeaf(page) ( GistPageGetOpaque(page)->flags |= F_LEAF) |
| #define | GistPageSetNonLeaf(page) ( GistPageGetOpaque(page)->flags &= ~F_LEAF) |
| #define | GistPageIsDeleted(page) ( GistPageGetOpaque(page)->flags & F_DELETED) |
| #define | GistPageSetDeleted(page) ( GistPageGetOpaque(page)->flags |= F_DELETED) |
| #define | GistPageSetNonDeleted(page) ( GistPageGetOpaque(page)->flags &= ~F_DELETED) |
| #define | GistTuplesDeleted(page) ( GistPageGetOpaque(page)->flags & F_TUPLES_DELETED) |
| #define | GistMarkTuplesDeleted(page) ( GistPageGetOpaque(page)->flags |= F_TUPLES_DELETED) |
| #define | GistClearTuplesDeleted(page) ( GistPageGetOpaque(page)->flags &= ~F_TUPLES_DELETED) |
| #define | GistFollowRight(page) ( GistPageGetOpaque(page)->flags & F_FOLLOW_RIGHT) |
| #define | GistMarkFollowRight(page) ( GistPageGetOpaque(page)->flags |= F_FOLLOW_RIGHT) |
| #define | GistClearFollowRight(page) ( GistPageGetOpaque(page)->flags &= ~F_FOLLOW_RIGHT) |
| #define | GistPageGetNSN(page) ( PageXLogRecPtrGet(GistPageGetOpaque(page)->nsn)) |
| #define | GistPageSetNSN(page, val) ( PageXLogRecPtrSet(GistPageGetOpaque(page)->nsn, val)) |
| #define | GEVHDRSZ (offsetof(GistEntryVector, vector)) |
| #define | gistentryinit(e, k, r, pg, o, l) |
Typedefs | |
| typedef XLogRecPtr | GistNSN |
| typedef PageXLogRecPtr | PageGistNSN |
| typedef struct GISTPageOpaqueData | GISTPageOpaqueData |
| typedef GISTPageOpaqueData * | GISTPageOpaque |
| typedef struct GIST_SPLITVEC | GIST_SPLITVEC |
| typedef struct GISTENTRY | GISTENTRY |
| #define F_LEAF (1 << 0) |
Definition at line 61 of file gist.h.
Referenced by gistbuild(), gistbuildempty(), gistplacetopage(), and gistRedoCreateIndex().
| #define GEVHDRSZ (offsetof(GistEntryVector, vector)) |
Definition at line 177 of file gist.h.
Referenced by genericPickSplit(), gistMakeUnionItVec(), gistMakeUnionKey(), and gistSplitByKey().
| #define GIST_COMPRESS_PROC 3 |
Definition at line 30 of file gist.h.
Referenced by initGISTstate().
| #define GIST_CONSISTENT_PROC 1 |
Definition at line 28 of file gist.h.
Referenced by initGISTstate().
| #define GIST_DECOMPRESS_PROC 4 |
Definition at line 31 of file gist.h.
Referenced by initGISTstate().
| #define GIST_DISTANCE_PROC 8 |
Definition at line 35 of file gist.h.
Referenced by gistrescan(), and initGISTstate().
| #define GIST_EQUAL_PROC 7 |
Definition at line 34 of file gist.h.
Referenced by initGISTstate().
| #define GIST_LEAF | ( | entry | ) | (GistPageIsLeaf((entry)->page)) |
Definition at line 148 of file gist.h.
Referenced by g_cube_consistent(), g_int_consistent(), g_intbig_consistent(), gbt_bit_consistent(), gbt_bpchar_consistent(), gbt_bytea_consistent(), gbt_cash_consistent(), gbt_cash_distance(), gbt_date_consistent(), gbt_date_distance(), gbt_float4_consistent(), gbt_float4_distance(), gbt_float8_consistent(), gbt_float8_distance(), gbt_inet_consistent(), gbt_int2_consistent(), gbt_int2_distance(), gbt_int4_consistent(), gbt_int4_distance(), gbt_int8_consistent(), gbt_int8_distance(), gbt_intv_consistent(), gbt_intv_distance(), gbt_macad_consistent(), gbt_numeric_consistent(), gbt_oid_consistent(), gbt_oid_distance(), gbt_text_consistent(), gbt_time_consistent(), gbt_time_distance(), gbt_timetz_consistent(), gbt_ts_consistent(), gbt_ts_distance(), gbt_tstz_consistent(), gbt_tstz_distance(), gist_box_consistent(), gist_point_consistent(), gist_point_distance(), gseg_consistent(), gtrgm_consistent(), gtrgm_distance(), gtsquery_consistent(), ltree_consistent(), and range_gist_consistent().
| #define GIST_PENALTY_PROC 5 |
Definition at line 32 of file gist.h.
Referenced by initGISTstate().
| #define GIST_PICKSPLIT_PROC 6 |
Definition at line 33 of file gist.h.
Referenced by initGISTstate().
| #define GIST_UNION_PROC 2 |
Definition at line 29 of file gist.h.
Referenced by initGISTstate().
| #define GistClearFollowRight | ( | page | ) | ( GistPageGetOpaque(page)->flags &= ~F_FOLLOW_RIGHT) |
Definition at line 162 of file gist.h.
Referenced by gistplacetopage(), gistRedoClearFollowRight(), and gistRedoPageSplitRecord().
| #define GistClearTuplesDeleted | ( | page | ) | ( GistPageGetOpaque(page)->flags &= ~F_TUPLES_DELETED) |
Definition at line 158 of file gist.h.
Referenced by gistRedoPageUpdateRecord().
| #define gistentryinit | ( | e, | ||
| k, | ||||
| r, | ||||
| pg, | ||||
| o, | ||||
| l | ||||
| ) |
do { (e).key = (k); (e).rel = (r); (e).page = (pg); \ (e).offset = (o); (e).leafkey = (l); } while (0)
Definition at line 182 of file gist.h.
Referenced by _ltree_compress(), findDontCares(), g_cube_decompress(), g_int_compress(), g_int_decompress(), g_intbig_compress(), gbt_bpchar_compress(), gbt_inet_compress(), gbt_intv_compress(), gbt_intv_decompress(), gbt_num_compress(), gbt_timetz_compress(), gbt_tstz_compress(), gbt_var_compress(), gbt_var_decompress(), ghstore_compress(), gist_circle_compress(), gist_point_compress(), gist_poly_compress(), gistcentryinit(), gistdentryinit(), gtrgm_compress(), gtrgm_decompress(), gtsquery_compress(), gtsvector_compress(), gtsvector_decompress(), ltree_compress(), ltree_decompress(), placeOne(), and supportSecondarySplit().
| #define GistFollowRight | ( | page | ) | ( GistPageGetOpaque(page)->flags & F_FOLLOW_RIGHT) |
Definition at line 160 of file gist.h.
Referenced by gistdoinsert(), gistFindPath(), gistfixsplit(), gistplacetopage(), gistScanPage(), and pushStackIfSplited().
| #define GistMarkFollowRight | ( | page | ) | ( GistPageGetOpaque(page)->flags |= F_FOLLOW_RIGHT) |
Definition at line 161 of file gist.h.
Referenced by gistplacetopage(), and gistRedoPageSplitRecord().
| #define GistMarkTuplesDeleted | ( | page | ) | ( GistPageGetOpaque(page)->flags |= F_TUPLES_DELETED) |
Definition at line 157 of file gist.h.
Referenced by gistbulkdelete(), and gistRedoPageUpdateRecord().
| #define GistPageGetNSN | ( | page | ) | ( PageXLogRecPtrGet(GistPageGetOpaque(page)->nsn)) |
Definition at line 164 of file gist.h.
Referenced by gistdoinsert(), gistFindPath(), gistplacetopage(), gistScanPage(), and pushStackIfSplited().
| #define GistPageGetOpaque | ( | page | ) | ( (GISTPageOpaque) PageGetSpecialPointer(page) ) |
Definition at line 145 of file gist.h.
Referenced by gistFindCorrectParent(), gistFindPath(), gistfixsplit(), GISTInitBuffer(), gistplacetopage(), gistRedoPageSplitRecord(), gistRedoPageUpdateRecord(), gistScanPage(), and pushStackIfSplited().
| #define GistPageIsDeleted | ( | page | ) | ( GistPageGetOpaque(page)->flags & F_DELETED) |
Definition at line 152 of file gist.h.
Referenced by gistNewBuffer(), and gistvacuumcleanup().
| #define GistPageIsLeaf | ( | page | ) | ( GistPageGetOpaque(page)->flags & F_LEAF) |
Definition at line 147 of file gist.h.
Referenced by gistbulkdelete(), gistchoose(), gistdoinsert(), gistFindPath(), gistGetMaxLevel(), gistindex_keytest(), gistMemorizeAllDownlinks(), gistplacetopage(), gistRedoPageUpdateRecord(), gistScanPage(), and pgstat_gist_page().
| #define GistPageSetDeleted | ( | page | ) | ( GistPageGetOpaque(page)->flags |= F_DELETED) |
| #define GistPageSetLeaf | ( | page | ) | ( GistPageGetOpaque(page)->flags |= F_LEAF) |
Definition at line 149 of file gist.h.
Referenced by gistRedoPageUpdateRecord().
| #define GistPageSetNonDeleted | ( | page | ) | ( GistPageGetOpaque(page)->flags &= ~F_DELETED) |
| #define GistPageSetNonLeaf | ( | page | ) | ( GistPageGetOpaque(page)->flags &= ~F_LEAF) |
Definition at line 165 of file gist.h.
Referenced by gistplacetopage(), gistRedoClearFollowRight(), and gistRedoPageSplitRecord().
| #define GistTuplesDeleted | ( | page | ) | ( GistPageGetOpaque(page)->flags & F_TUPLES_DELETED) |
| #define RTAboveStrategyNumber 11 |
Definition at line 52 of file gist.h.
Referenced by gist_box_leaf_consistent(), gist_point_consistent_internal(), rtree_internal_consistent(), spg_kd_inner_consistent(), spg_quad_inner_consistent(), and spg_quad_leaf_consistent().
| #define RTBelowStrategyNumber 10 |
Definition at line 51 of file gist.h.
Referenced by gist_box_leaf_consistent(), gist_point_consistent_internal(), rtree_internal_consistent(), spg_kd_inner_consistent(), spg_quad_inner_consistent(), and spg_quad_leaf_consistent().
| #define RTContainedByStrategyNumber 8 |
Definition at line 49 of file gist.h.
Referenced by g_cube_internal_consistent(), g_cube_leaf_consistent(), g_int_consistent(), g_intbig_consistent(), ginint4_consistent(), ginint4_queryextract(), gist_box_leaf_consistent(), gseg_internal_consistent(), gseg_leaf_consistent(), gtsquery_consistent(), rtree_internal_consistent(), spg_kd_inner_consistent(), spg_quad_inner_consistent(), and spg_quad_leaf_consistent().
| #define RTContainsStrategyNumber 7 |
Definition at line 48 of file gist.h.
Referenced by g_cube_internal_consistent(), g_cube_leaf_consistent(), g_int_consistent(), g_intbig_consistent(), ginint4_consistent(), ginint4_queryextract(), gist_box_leaf_consistent(), gseg_internal_consistent(), gseg_leaf_consistent(), gtsquery_consistent(), and rtree_internal_consistent().
| #define RTLeftStrategyNumber 1 |
Definition at line 42 of file gist.h.
Referenced by gist_box_leaf_consistent(), gist_point_consistent_internal(), gseg_internal_consistent(), gseg_leaf_consistent(), rtree_internal_consistent(), spg_kd_inner_consistent(), spg_quad_inner_consistent(), and spg_quad_leaf_consistent().
| #define RTOldContainedByStrategyNumber 14 |
Definition at line 55 of file gist.h.
Referenced by g_cube_internal_consistent(), g_cube_leaf_consistent(), g_int_consistent(), g_intbig_consistent(), ginint4_consistent(), ginint4_queryextract(), gist_box_leaf_consistent(), gseg_internal_consistent(), gseg_leaf_consistent(), and rtree_internal_consistent().
| #define RTOldContainsStrategyNumber 13 |
Definition at line 54 of file gist.h.
Referenced by g_cube_internal_consistent(), g_cube_leaf_consistent(), g_int_consistent(), g_intbig_consistent(), ginint4_consistent(), ginint4_queryextract(), gist_box_leaf_consistent(), gseg_internal_consistent(), gseg_leaf_consistent(), and rtree_internal_consistent().
| #define RTOverAboveStrategyNumber 12 |
Definition at line 53 of file gist.h.
Referenced by gist_box_leaf_consistent(), and rtree_internal_consistent().
| #define RTOverBelowStrategyNumber 9 |
Definition at line 50 of file gist.h.
Referenced by gist_box_leaf_consistent(), and rtree_internal_consistent().
| #define RTOverlapStrategyNumber 3 |
Definition at line 44 of file gist.h.
Referenced by g_cube_internal_consistent(), g_cube_leaf_consistent(), g_int_consistent(), g_intbig_consistent(), ginint4_consistent(), ginint4_queryextract(), gist_box_leaf_consistent(), gist_point_consistent(), gseg_internal_consistent(), gseg_leaf_consistent(), and rtree_internal_consistent().
| #define RTOverLeftStrategyNumber 2 |
Definition at line 43 of file gist.h.
Referenced by gist_box_leaf_consistent(), gseg_internal_consistent(), gseg_leaf_consistent(), and rtree_internal_consistent().
| #define RTOverRightStrategyNumber 4 |
Definition at line 45 of file gist.h.
Referenced by gist_box_leaf_consistent(), gseg_internal_consistent(), gseg_leaf_consistent(), and rtree_internal_consistent().
| #define RTRightStrategyNumber 5 |
Definition at line 46 of file gist.h.
Referenced by gist_box_leaf_consistent(), gist_point_consistent_internal(), gseg_internal_consistent(), gseg_leaf_consistent(), rtree_internal_consistent(), spg_kd_inner_consistent(), spg_quad_inner_consistent(), and spg_quad_leaf_consistent().
| #define RTSameStrategyNumber 6 |
Definition at line 47 of file gist.h.
Referenced by g_cube_internal_consistent(), g_cube_leaf_consistent(), g_int_consistent(), g_intbig_consistent(), ginint4_consistent(), ginint4_queryextract(), gist_box_leaf_consistent(), gist_point_consistent_internal(), gseg_internal_consistent(), gseg_leaf_consistent(), rtree_internal_consistent(), spg_kd_inner_consistent(), spg_quad_inner_consistent(), and spg_quad_leaf_consistent().
| typedef struct GIST_SPLITVEC GIST_SPLITVEC |
| typedef XLogRecPtr GistNSN |
| typedef GISTPageOpaqueData* GISTPageOpaque |
| typedef struct GISTPageOpaqueData GISTPageOpaqueData |
| typedef PageXLogRecPtr PageGistNSN |
1.7.1