PostgreSQL Source Code
git master
|
#include "access/itup.h"
#include "access/transam.h"
#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 | GISTDeletedPageContents |
struct | GistEntryVector |
Typedefs | |
typedef XLogRecPtr | GistNSN |
typedef PageXLogRecPtr | PageGistNSN |
typedef struct GISTPageOpaqueData | GISTPageOpaqueData |
typedef GISTPageOpaqueData * | GISTPageOpaque |
typedef struct GIST_SPLITVEC | GIST_SPLITVEC |
typedef struct GISTENTRY | GISTENTRY |
typedef struct GISTDeletedPageContents | GISTDeletedPageContents |
Functions | |
static void | GistPageSetDeleted (Page page, FullTransactionId deletexid) |
static FullTransactionId | GistPageGetDeleteXid (Page page) |
#define F_DELETED (1 << 1) /* the page has been deleted */ |
Definition at line 47 of file gist.h.
Referenced by gist_page_opaque_info(), and GistPageSetDeleted().
#define F_FOLLOW_RIGHT (1 << 3) /* page to the right has no downlink */ |
Definition at line 50 of file gist.h.
Referenced by gist_page_opaque_info().
#define F_HAS_GARBAGE |
Definition at line 51 of file gist.h.
Referenced by gist_page_opaque_info().
#define F_LEAF (1 << 0) /* leaf page */ |
Definition at line 46 of file gist.h.
Referenced by gist_indexsortbuild(), gist_indexsortbuild_pagestate_flush(), gist_page_opaque_info(), gistbuild(), gistbuildempty(), gistplacetopage(), and gistRedoPageSplitRecord().
#define F_TUPLES_DELETED |
Definition at line 48 of file gist.h.
Referenced by gist_page_opaque_info().
#define GEVHDRSZ (offsetof(GistEntryVector, vector)) |
Definition at line 239 of file gist.h.
Referenced by genericPickSplit(), gistMakeUnionItVec(), gistMakeUnionKey(), and gistSplitByKey().
#define GIST_COMPRESS_PROC 3 |
Definition at line 32 of file gist.h.
Referenced by gistadjustmembers(), gistcanreturn(), gistproperty(), gistvalidate(), and initGISTstate().
#define GIST_CONSISTENT_PROC 1 |
Definition at line 30 of file gist.h.
Referenced by gistadjustmembers(), gistvalidate(), and initGISTstate().
#define GIST_DECOMPRESS_PROC 4 |
Definition at line 33 of file gist.h.
Referenced by gistadjustmembers(), gistvalidate(), and initGISTstate().
#define GIST_DISTANCE_PROC 8 |
Definition at line 37 of file gist.h.
Referenced by gistadjustmembers(), gistproperty(), gistrescan(), gistvalidate(), and initGISTstate().
#define GIST_EQUAL_PROC 7 |
Definition at line 36 of file gist.h.
Referenced by gistadjustmembers(), gistvalidate(), and initGISTstate().
#define GIST_FETCH_PROC 9 |
Definition at line 38 of file gist.h.
Referenced by gistadjustmembers(), gistcanreturn(), gistproperty(), gistvalidate(), and initGISTstate().
#define GIST_LEAF | ( | entry | ) | (GistPageIsLeaf((entry)->page)) |
Definition at line 170 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_enum_consistent(), 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_macad8_consistent(), 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(), gbt_uuid_consistent(), gist_box_consistent(), gist_point_consistent(), gist_point_distance(), gseg_consistent(), gtrgm_consistent(), gtrgm_distance(), gtsquery_consistent(), inet_gist_consistent(), ltree_consistent(), multirange_gist_consistent(), and range_gist_consistent().
#define GIST_OPTIONS_PROC 10 |
Definition at line 39 of file gist.h.
Referenced by gistadjustmembers(), gisthandler(), and gistvalidate().
#define GIST_PAGE_ID 0xFF81 |
Definition at line 111 of file gist.h.
Referenced by gistinitpage().
#define GIST_PENALTY_PROC 5 |
Definition at line 34 of file gist.h.
Referenced by gistadjustmembers(), gistvalidate(), and initGISTstate().
#define GIST_PICKSPLIT_PROC 6 |
Definition at line 35 of file gist.h.
Referenced by gistadjustmembers(), gistvalidate(), and initGISTstate().
#define GIST_SORTSUPPORT_PROC 11 |
Definition at line 40 of file gist.h.
Referenced by gistadjustmembers(), gistbuild(), gistvalidate(), and PrepareSortSupportFromGistIndexRel().
#define GIST_UNION_PROC 2 |
Definition at line 31 of file gist.h.
Referenced by gistadjustmembers(), gistvalidate(), and initGISTstate().
#define GistBuildLSN ((XLogRecPtr) 1) |
Definition at line 69 of file gist.h.
Referenced by gist_indexsortbuild(), gist_indexsortbuild_flush_ready_pages(), gistbuild(), and gistplacetopage().
#define GistClearFollowRight | ( | page | ) | ( GistPageGetOpaque(page)->flags &= ~F_FOLLOW_RIGHT) |
Definition at line 184 of file gist.h.
Referenced by gistplacetopage(), gistRedoClearFollowRight(), and gistRedoPageSplitRecord().
#define GistClearPageHasGarbage | ( | page | ) | ( GistPageGetOpaque(page)->flags &= ~F_HAS_GARBAGE) |
Definition at line 180 of file gist.h.
Referenced by gist_mask(), gistprunepage(), and gistRedoDeleteRecord().
#define GistClearTuplesDeleted | ( | page | ) | ( GistPageGetOpaque(page)->flags &= ~F_TUPLES_DELETED) |
#define gistentryinit | ( | e, | |
k, | |||
r, | |||
pg, | |||
o, | |||
l | |||
) |
Definition at line 244 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_num_fetch(), gbt_timetz_compress(), gbt_tstz_compress(), gbt_uuid_compress(), gbt_var_compress(), gbt_var_decompress(), gbt_var_fetch(), ghstore_compress(), gist_circle_compress(), gist_point_compress(), gist_point_fetch(), gist_poly_compress(), gistCompressValues(), gistdentryinit(), gistFetchAtt(), gtrgm_compress(), gtrgm_decompress(), gtsquery_compress(), gtsvector_compress(), gtsvector_decompress(), inet_gist_compress(), inet_gist_fetch(), ltree_compress(), ltree_decompress(), multirange_gist_compress(), placeOne(), and supportSecondarySplit().
#define GistFollowRight | ( | page | ) | ( GistPageGetOpaque(page)->flags & F_FOLLOW_RIGHT) |
Definition at line 182 of file gist.h.
Referenced by gistdeletepage(), gistdoinsert(), gistFindPath(), gistfixsplit(), gistplacetopage(), gistScanPage(), and gistvacuumpage().
#define GistMarkFollowRight | ( | page | ) | ( GistPageGetOpaque(page)->flags |= F_FOLLOW_RIGHT) |
Definition at line 183 of file gist.h.
Referenced by gist_mask(), gistplacetopage(), and gistRedoPageSplitRecord().
#define GistMarkPageHasGarbage | ( | page | ) | ( GistPageGetOpaque(page)->flags |= F_HAS_GARBAGE) |
Definition at line 179 of file gist.h.
Referenced by gistkillitems().
#define GistMarkTuplesDeleted | ( | page | ) | ( GistPageGetOpaque(page)->flags |= F_TUPLES_DELETED) |
Definition at line 175 of file gist.h.
Referenced by gistRedoDeleteRecord(), gistRedoPageUpdateRecord(), and gistvacuumpage().
#define GISTMaxIndexKeySize (GISTMaxIndexTupleSize - MAXALIGN(sizeof(IndexTupleData))) |
#define GISTMaxIndexTupleSize |
#define GISTNProcs 11 |
Definition at line 41 of file gist.h.
Referenced by gisthandler(), and gistvalidate().
#define GistPageGetNSN | ( | page | ) | ( PageXLogRecPtrGet(GistPageGetOpaque(page)->nsn)) |
Definition at line 186 of file gist.h.
Referenced by gist_page_opaque_info(), gistdoinsert(), gistFindPath(), gistplacetopage(), gistScanPage(), and gistvacuumpage().
#define GistPageGetOpaque | ( | page | ) | ( (GISTPageOpaque) PageGetSpecialPointer(page) ) |
Definition at line 167 of file gist.h.
Referenced by gist_indexsortbuild_pagestate_flush(), gistFindCorrectParent(), gistFindPath(), gistfixsplit(), gistinitpage(), GistPageSetDeleted(), gistplacetopage(), gistRedoPageSplitRecord(), gistScanPage(), and gistvacuumpage().
#define GistPageHasGarbage | ( | page | ) | ( GistPageGetOpaque(page)->flags & F_HAS_GARBAGE) |
Definition at line 178 of file gist.h.
Referenced by gistplacetopage().
#define GistPageIsDeleted | ( | page | ) | ( GistPageGetOpaque(page)->flags & F_DELETED) |
Definition at line 172 of file gist.h.
Referenced by gist_page_items(), gist_page_items_bytea(), gistdeletepage(), gistdoinsert(), gistFindPath(), GistPageGetDeleteXid(), gistPageRecyclable(), gistplacetopage(), gistScanPage(), gistvacuum_delete_empty_pages(), and gistvacuumpage().
#define GistPageIsLeaf | ( | page | ) | ( GistPageGetOpaque(page)->flags & F_LEAF) |
Definition at line 169 of file gist.h.
Referenced by g_cube_distance(), gist_indexsortbuild_pagestate_flush(), gist_mask(), gistchoose(), gistdeletepage(), gistdoinsert(), gistFindPath(), gistGetMaxLevel(), gistindex_keytest(), gistkillitems(), gistMemorizeAllDownlinks(), gistplacetopage(), gistprunepage(), gistRedoPageUpdateRecord(), gistScanPage(), gistvacuum_delete_empty_pages(), gistvacuumpage(), and pgstat_gist_page().
#define GistPageSetNSN | ( | page, | |
val | |||
) | ( PageXLogRecPtrSet(GistPageGetOpaque(page)->nsn, val)) |
Definition at line 187 of file gist.h.
Referenced by gist_mask(), gistplacetopage(), gistRedoClearFollowRight(), and gistRedoPageSplitRecord().
#define GistTuplesDeleted | ( | page | ) | ( GistPageGetOpaque(page)->flags & F_TUPLES_DELETED) |
typedef struct GIST_SPLITVEC GIST_SPLITVEC |
typedef struct GISTDeletedPageContents GISTDeletedPageContents |
typedef XLogRecPtr GistNSN |
typedef GISTPageOpaqueData* GISTPageOpaque |
typedef struct GISTPageOpaqueData GISTPageOpaqueData |
typedef PageXLogRecPtr PageGistNSN |
|
inlinestatic |
Definition at line 215 of file gist.h.
References Assert, FirstNormalTransactionId, FullTransactionIdFromEpochAndXid(), GistPageIsDeleted, MAXALIGN, offsetof, PageGetContents, and SizeOfPageHeaderData.
Referenced by gistNewBuffer(), and gistPageRecyclable().
|
inlinestatic |
Definition at line 204 of file gist.h.
References Assert, F_DELETED, GistPageGetOpaque, MAXALIGN, PageGetContents, PageIsEmpty, and SizeOfPageHeaderData.
Referenced by gistdeletepage(), and gistRedoPageDelete().