PostgreSQL Source Code
git master
|
#include "access/itup.h"
#include "access/stratnum.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) |
StrategyNumber | GistTranslateStratnum (Oid opclass, StrategyNumber strat) |
#define F_FOLLOW_RIGHT (1 << 3) /* page to the right has no downlink */ |
#define F_HAS_GARBAGE |
#define F_TUPLES_DELETED |
#define GEVHDRSZ (offsetof(GistEntryVector, vector)) |
#define GIST_LEAF | ( | entry | ) | (GistPageIsLeaf((entry)->page)) |
#define GistBuildLSN ((XLogRecPtr) 1) |
#define GistClearFollowRight | ( | page | ) | ( GistPageGetOpaque(page)->flags &= ~F_FOLLOW_RIGHT) |
#define GistClearPageHasGarbage | ( | page | ) | ( GistPageGetOpaque(page)->flags &= ~F_HAS_GARBAGE) |
#define GistClearTuplesDeleted | ( | page | ) | ( GistPageGetOpaque(page)->flags &= ~F_TUPLES_DELETED) |
#define gistentryinit | ( | e, | |
k, | |||
r, | |||
pg, | |||
o, | |||
l | |||
) |
#define GistFollowRight | ( | page | ) | ( GistPageGetOpaque(page)->flags & F_FOLLOW_RIGHT) |
#define GistMarkFollowRight | ( | page | ) | ( GistPageGetOpaque(page)->flags |= F_FOLLOW_RIGHT) |
#define GistMarkPageHasGarbage | ( | page | ) | ( GistPageGetOpaque(page)->flags |= F_HAS_GARBAGE) |
#define GistMarkTuplesDeleted | ( | page | ) | ( GistPageGetOpaque(page)->flags |= F_TUPLES_DELETED) |
#define GISTMaxIndexKeySize (GISTMaxIndexTupleSize - MAXALIGN(sizeof(IndexTupleData))) |
#define GISTMaxIndexTupleSize |
#define GistPageGetNSN | ( | page | ) | ( PageXLogRecPtrGet(GistPageGetOpaque(page)->nsn)) |
#define GistPageGetOpaque | ( | page | ) | ( (GISTPageOpaque) PageGetSpecialPointer(page) ) |
#define GistPageHasGarbage | ( | page | ) | ( GistPageGetOpaque(page)->flags & F_HAS_GARBAGE) |
#define GistPageIsDeleted | ( | page | ) | ( GistPageGetOpaque(page)->flags & F_DELETED) |
#define GistPageIsLeaf | ( | page | ) | ( GistPageGetOpaque(page)->flags & F_LEAF) |
#define GistPageSetNSN | ( | page, | |
val | |||
) | ( PageXLogRecPtrSet(GistPageGetOpaque(page)->nsn, val)) |
#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, 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().
StrategyNumber GistTranslateStratnum | ( | Oid | opclass, |
StrategyNumber | strat | ||
) |
Definition at line 1081 of file gistutil.c.
References DatumGetUInt16(), get_opclass_opfamily_and_input_type(), get_opfamily_proc(), GIST_STRATNUM_PROC, InvalidOid, InvalidStrategy, OidFunctionCall1Coll(), OidIsValid, and UInt16GetDatum().
Referenced by ATAddForeignKeyConstraint(), and GetOperatorFromWellKnownStrategy().