29 #define GIST_CONSISTENT_PROC 1 30 #define GIST_UNION_PROC 2 31 #define GIST_COMPRESS_PROC 3 32 #define GIST_DECOMPRESS_PROC 4 33 #define GIST_PENALTY_PROC 5 34 #define GIST_PICKSPLIT_PROC 6 35 #define GIST_EQUAL_PROC 7 36 #define GIST_DISTANCE_PROC 8 37 #define GIST_FETCH_PROC 9 43 #define F_LEAF (1 << 0) 44 #define F_DELETED (1 << 1) 45 #define F_TUPLES_DELETED (1 << 2) 47 #define F_FOLLOW_RIGHT (1 << 3) 48 #define F_HAS_GARBAGE (1 << 4) 58 #define GistBuildLSN ((XLogRecPtr) 1) 82 #define GIST_PAGE_ID 0xFF81 138 #define GistPageGetOpaque(page) ( (GISTPageOpaque) PageGetSpecialPointer(page) ) 140 #define GistPageIsLeaf(page) ( GistPageGetOpaque(page)->flags & F_LEAF) 141 #define GIST_LEAF(entry) (GistPageIsLeaf((entry)->page)) 143 #define GistPageIsDeleted(page) ( GistPageGetOpaque(page)->flags & F_DELETED) 145 #define GistTuplesDeleted(page) ( GistPageGetOpaque(page)->flags & F_TUPLES_DELETED) 146 #define GistMarkTuplesDeleted(page) ( GistPageGetOpaque(page)->flags |= F_TUPLES_DELETED) 147 #define GistClearTuplesDeleted(page) ( GistPageGetOpaque(page)->flags &= ~F_TUPLES_DELETED) 149 #define GistPageHasGarbage(page) ( GistPageGetOpaque(page)->flags & F_HAS_GARBAGE) 150 #define GistMarkPageHasGarbage(page) ( GistPageGetOpaque(page)->flags |= F_HAS_GARBAGE) 151 #define GistClearPageHasGarbage(page) ( GistPageGetOpaque(page)->flags &= ~F_HAS_GARBAGE) 153 #define GistFollowRight(page) ( GistPageGetOpaque(page)->flags & F_FOLLOW_RIGHT) 154 #define GistMarkFollowRight(page) ( GistPageGetOpaque(page)->flags |= F_FOLLOW_RIGHT) 155 #define GistClearFollowRight(page) ( GistPageGetOpaque(page)->flags &= ~F_FOLLOW_RIGHT) 157 #define GistPageGetNSN(page) ( PageXLogRecPtrGet(GistPageGetOpaque(page)->nsn)) 158 #define GistPageSetNSN(page, val) ( PageXLogRecPtrSet(GistPageGetOpaque(page)->nsn, val)) 210 #define GEVHDRSZ (offsetof(GistEntryVector, vector)) 215 #define gistentryinit(e, k, r, pg, o, l) \ 216 do { (e).key = (k); (e).rel = (r); (e).page = (pg); \ 217 (e).offset = (o); (e).leafkey = (l); } while (0)
#define GistPageIsDeleted(page)
#define PageIsEmpty(page)
struct GIST_SPLITVEC GIST_SPLITVEC
#define SizeOfPageHeaderData
PageXLogRecPtr PageGistNSN
struct GISTENTRY GISTENTRY
#define FirstNormalTransactionId
struct GISTPageOpaqueData GISTPageOpaqueData
static void GistPageSetDeleted(Page page, FullTransactionId deletexid)
FullTransactionId deleteXid
#define PageGetContents(page)
#define GistPageGetOpaque(page)
PageHeaderData * PageHeader
struct GISTDeletedPageContents GISTDeletedPageContents
#define Assert(condition)
static FullTransactionId FullTransactionIdFromEpochAndXid(uint32 epoch, TransactionId xid)
static FullTransactionId GistPageGetDeleteXid(Page page)
GISTPageOpaqueData * GISTPageOpaque
#define offsetof(type, field)