PostgreSQL Source Code
git master
|
Go to the source code of this file.
Data Structures | |
struct | spgxlogState |
struct | spgxlogAddLeaf |
struct | spgxlogMoveLeafs |
struct | spgxlogAddNode |
struct | spgxlogSplitTuple |
struct | spgxlogPickSplit |
struct | spgxlogVacuumLeaf |
struct | spgxlogVacuumRoot |
struct | spgxlogVacuumRedirect |
Macros | |
#define | XLOG_SPGIST_ADD_LEAF 0x10 |
#define | XLOG_SPGIST_MOVE_LEAFS 0x20 |
#define | XLOG_SPGIST_ADD_NODE 0x30 |
#define | XLOG_SPGIST_SPLIT_TUPLE 0x40 |
#define | XLOG_SPGIST_PICKSPLIT 0x50 |
#define | XLOG_SPGIST_VACUUM_LEAF 0x60 |
#define | XLOG_SPGIST_VACUUM_ROOT 0x70 |
#define | XLOG_SPGIST_VACUUM_REDIRECT 0x80 |
#define | SizeOfSpgxlogMoveLeafs offsetof(spgxlogMoveLeafs, offsets) |
#define | SizeOfSpgxlogPickSplit offsetof(spgxlogPickSplit, offsets) |
#define | SizeOfSpgxlogVacuumLeaf offsetof(spgxlogVacuumLeaf, offsets) |
#define | SizeOfSpgxlogVacuumRoot offsetof(spgxlogVacuumRoot, offsets) |
#define | SizeOfSpgxlogVacuumRedirect offsetof(spgxlogVacuumRedirect, offsets) |
Typedefs | |
typedef struct spgxlogState | spgxlogState |
typedef struct spgxlogAddLeaf | spgxlogAddLeaf |
typedef struct spgxlogMoveLeafs | spgxlogMoveLeafs |
typedef struct spgxlogAddNode | spgxlogAddNode |
typedef struct spgxlogSplitTuple | spgxlogSplitTuple |
typedef struct spgxlogPickSplit | spgxlogPickSplit |
typedef struct spgxlogVacuumLeaf | spgxlogVacuumLeaf |
typedef struct spgxlogVacuumRoot | spgxlogVacuumRoot |
typedef struct spgxlogVacuumRedirect | spgxlogVacuumRedirect |
Functions | |
void | spg_redo (XLogReaderState *record) |
void | spg_desc (StringInfo buf, XLogReaderState *record) |
const char * | spg_identify (uint8 info) |
void | spg_xlog_startup (void) |
void | spg_xlog_cleanup (void) |
void | spg_mask (char *pagedata, BlockNumber blkno) |
#define SizeOfSpgxlogMoveLeafs offsetof(spgxlogMoveLeafs, offsets) |
#define SizeOfSpgxlogPickSplit offsetof(spgxlogPickSplit, offsets) |
#define SizeOfSpgxlogVacuumLeaf offsetof(spgxlogVacuumLeaf, offsets) |
#define SizeOfSpgxlogVacuumRedirect offsetof(spgxlogVacuumRedirect, offsets) |
#define SizeOfSpgxlogVacuumRoot offsetof(spgxlogVacuumRoot, offsets) |
typedef struct spgxlogAddLeaf spgxlogAddLeaf |
typedef struct spgxlogAddNode spgxlogAddNode |
typedef struct spgxlogMoveLeafs spgxlogMoveLeafs |
typedef struct spgxlogPickSplit spgxlogPickSplit |
typedef struct spgxlogSplitTuple spgxlogSplitTuple |
typedef struct spgxlogState spgxlogState |
typedef struct spgxlogVacuumLeaf spgxlogVacuumLeaf |
typedef struct spgxlogVacuumRedirect spgxlogVacuumRedirect |
typedef struct spgxlogVacuumRoot spgxlogVacuumRoot |
void spg_desc | ( | StringInfo | buf, |
XLogReaderState * | record | ||
) |
Definition at line 20 of file spgdesc.c.
References appendStringInfo(), appendStringInfoString(), buf, spgxlogVacuumRedirect::firstPlaceholder, spgxlogPickSplit::innerIsParent, spgxlogVacuumRedirect::isCatalogRel, spgxlogPickSplit::isRootSplit, spgxlogVacuumLeaf::nChain, spgxlogVacuumLeaf::nDead, spgxlogPickSplit::nDelete, spgxlogVacuumRoot::nDelete, spgxlogAddLeaf::newPage, spgxlogMoveLeafs::newPage, spgxlogAddNode::newPage, spgxlogSplitTuple::newPage, spgxlogPickSplit::nInsert, spgxlogVacuumLeaf::nMove, spgxlogMoveLeafs::nMoves, spgxlogAddLeaf::nodeI, spgxlogMoveLeafs::nodeI, spgxlogAddNode::nodeI, spgxlogPickSplit::nodeI, spgxlogVacuumLeaf::nPlaceholder, spgxlogVacuumRedirect::nToPlaceholder, spgxlogAddNode::offnum, spgxlogAddLeaf::offnumHeadLeaf, spgxlogPickSplit::offnumInner, spgxlogAddLeaf::offnumLeaf, spgxlogAddNode::offnumNew, spgxlogAddLeaf::offnumParent, spgxlogMoveLeafs::offnumParent, spgxlogAddNode::offnumParent, spgxlogPickSplit::offnumParent, spgxlogSplitTuple::offnumPostfix, spgxlogSplitTuple::offnumPrefix, spgxlogAddNode::parentBlk, spgxlogSplitTuple::postfixBlkSame, spgxlogMoveLeafs::replaceDead, spgxlogVacuumRedirect::snapshotConflictHorizon, spgxlogAddLeaf::storesNulls, spgxlogMoveLeafs::storesNulls, spgxlogPickSplit::storesNulls, XLOG_SPGIST_ADD_LEAF, XLOG_SPGIST_ADD_NODE, XLOG_SPGIST_MOVE_LEAFS, XLOG_SPGIST_PICKSPLIT, XLOG_SPGIST_SPLIT_TUPLE, XLOG_SPGIST_VACUUM_LEAF, XLOG_SPGIST_VACUUM_REDIRECT, XLOG_SPGIST_VACUUM_ROOT, XLogRecGetData, XLogRecGetInfo, and XLR_INFO_MASK.
const char* spg_identify | ( | uint8 | info | ) |
Definition at line 132 of file spgdesc.c.
References XLOG_SPGIST_ADD_LEAF, XLOG_SPGIST_ADD_NODE, XLOG_SPGIST_MOVE_LEAFS, XLOG_SPGIST_PICKSPLIT, XLOG_SPGIST_SPLIT_TUPLE, XLOG_SPGIST_VACUUM_LEAF, XLOG_SPGIST_VACUUM_REDIRECT, XLOG_SPGIST_VACUUM_ROOT, and XLR_INFO_MASK.
void spg_mask | ( | char * | pagedata, |
BlockNumber | blkno | ||
) |
Definition at line 994 of file spgxlog.c.
References mask_page_hint_bits(), mask_page_lsn_and_checksum(), mask_unused_space(), PageHeaderData::pd_lower, and SizeOfPageHeaderData.
void spg_redo | ( | XLogReaderState * | record | ) |
Definition at line 935 of file spgxlog.c.
References elog, MemoryContextReset(), MemoryContextSwitchTo(), opCtx, PANIC, spgRedoAddLeaf(), spgRedoAddNode(), spgRedoMoveLeafs(), spgRedoPickSplit(), spgRedoSplitTuple(), spgRedoVacuumLeaf(), spgRedoVacuumRedirect(), spgRedoVacuumRoot(), XLOG_SPGIST_ADD_LEAF, XLOG_SPGIST_ADD_NODE, XLOG_SPGIST_MOVE_LEAFS, XLOG_SPGIST_PICKSPLIT, XLOG_SPGIST_SPLIT_TUPLE, XLOG_SPGIST_VACUUM_LEAF, XLOG_SPGIST_VACUUM_REDIRECT, XLOG_SPGIST_VACUUM_ROOT, XLogRecGetInfo, and XLR_INFO_MASK.
void spg_xlog_cleanup | ( | void | ) |
void spg_xlog_startup | ( | void | ) |
Definition at line 976 of file spgxlog.c.
References ALLOCSET_DEFAULT_SIZES, AllocSetContextCreate, CurrentMemoryContext, and opCtx.