#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 |