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) |
Definition at line 91 of file spgxlog.h.
Referenced by moveLeafs(), and spgRedoMoveLeafs().
#define SizeOfSpgxlogPickSplit offsetof(spgxlogPickSplit, offsets) |
Definition at line 199 of file spgxlog.h.
Referenced by doPickSplit(), and spgRedoPickSplit().
#define SizeOfSpgxlogVacuumLeaf offsetof(spgxlogVacuumLeaf, offsets) |
Definition at line 223 of file spgxlog.h.
Referenced by spgRedoVacuumLeaf(), and vacuumLeafPage().
#define SizeOfSpgxlogVacuumRedirect offsetof(spgxlogVacuumRedirect, offsets) |
Definition at line 248 of file spgxlog.h.
Referenced by vacuumRedirectAndPlaceholder().
#define SizeOfSpgxlogVacuumRoot offsetof(spgxlogVacuumRoot, offsets) |
Definition at line 236 of file spgxlog.h.
Referenced by vacuumLeafRoot().
#define XLOG_SPGIST_ADD_LEAF 0x10 |
Definition at line 22 of file spgxlog.h.
Referenced by addLeafTuple(), spg_desc(), spg_identify(), and spg_redo().
#define XLOG_SPGIST_ADD_NODE 0x30 |
Definition at line 24 of file spgxlog.h.
Referenced by spg_desc(), spg_identify(), spg_redo(), and spgAddNodeAction().
#define XLOG_SPGIST_MOVE_LEAFS 0x20 |
Definition at line 23 of file spgxlog.h.
Referenced by moveLeafs(), spg_desc(), spg_identify(), and spg_redo().
#define XLOG_SPGIST_PICKSPLIT 0x50 |
Definition at line 26 of file spgxlog.h.
Referenced by doPickSplit(), spg_desc(), spg_identify(), and spg_redo().
#define XLOG_SPGIST_SPLIT_TUPLE 0x40 |
Definition at line 25 of file spgxlog.h.
Referenced by spg_desc(), spg_identify(), spg_redo(), and spgSplitNodeAction().
#define XLOG_SPGIST_VACUUM_LEAF 0x60 |
Definition at line 27 of file spgxlog.h.
Referenced by spg_desc(), spg_identify(), spg_redo(), and vacuumLeafPage().
#define XLOG_SPGIST_VACUUM_REDIRECT 0x80 |
Definition at line 29 of file spgxlog.h.
Referenced by spg_desc(), spg_identify(), spg_redo(), and vacuumRedirectAndPlaceholder().
#define XLOG_SPGIST_VACUUM_ROOT 0x70 |
Definition at line 28 of file spgxlog.h.
Referenced by spg_desc(), spg_identify(), spg_redo(), and vacuumLeafRoot().
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(), spgxlogPickSplit::innerIsParent, spgxlogPickSplit::isRootSplit, spgxlogPickSplit::nDelete, spgxlogAddLeaf::newPage, spgxlogPickSplit::nInsert, spgxlogAddLeaf::offnumHeadLeaf, spgxlogAddLeaf::offnumLeaf, spgxlogAddLeaf::offnumParent, spgxlogAddLeaf::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 83 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 998 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 939 of file spgxlog.c.
References elog, MemoryContextReset(), MemoryContextSwitchTo(), 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 980 of file spgxlog.c.
References ALLOCSET_DEFAULT_SIZES, AllocSetContextCreate, and CurrentMemoryContext.