PostgreSQL Source Code
git master
|
#include "postgres.h"
#include "access/bufmask.h"
#include "access/gin_private.h"
#include "access/ginxlog.h"
#include "access/xlogutils.h"
#include "utils/memutils.h"
Go to the source code of this file.
Variables | |
static MemoryContext | opCtx |
void gin_mask | ( | char * | pagedata, |
BlockNumber | blkno | ||
) |
Definition at line 793 of file ginxlog.c.
References GinPageOpaqueData::flags, GIN_DELETED, GinPageGetOpaque, mask_page_content(), mask_page_hint_bits(), mask_page_lsn_and_checksum(), mask_unused_space(), PageHeaderData::pd_lower, and SizeOfPageHeaderData.
void gin_redo | ( | XLogReaderState * | record | ) |
Definition at line 726 of file ginxlog.c.
References elog, ginRedoCreatePTree(), ginRedoDeleteListPages(), ginRedoDeletePage(), ginRedoInsert(), ginRedoInsertListPage(), ginRedoSplit(), ginRedoUpdateMetapage(), ginRedoVacuumDataLeafPage(), ginRedoVacuumPage(), MemoryContextReset(), MemoryContextSwitchTo(), opCtx, PANIC, XLOG_GIN_CREATE_PTREE, XLOG_GIN_DELETE_LISTPAGE, XLOG_GIN_DELETE_PAGE, XLOG_GIN_INSERT, XLOG_GIN_INSERT_LISTPAGE, XLOG_GIN_SPLIT, XLOG_GIN_UPDATE_META_PAGE, XLOG_GIN_VACUUM_DATA_LEAF_PAGE, XLOG_GIN_VACUUM_PAGE, XLogRecGetInfo, and XLR_INFO_MASK.
void gin_xlog_cleanup | ( | void | ) |
void gin_xlog_startup | ( | void | ) |
Definition at line 775 of file ginxlog.c.
References ALLOCSET_DEFAULT_SIZES, AllocSetContextCreate, CurrentMemoryContext, and opCtx.
|
static |
Definition at line 25 of file ginxlog.c.
References BLK_NEEDS_REDO, BufferGetPage(), BufferIsValid(), XLogReaderState::EndRecPtr, GIN_INCOMPLETE_SPLIT, GinPageGetOpaque, MarkBufferDirty(), PageSetLSN(), UnlockReleaseBuffer(), and XLogReadBufferForRedo().
Referenced by ginRedoInsert(), and ginRedoSplit().
|
static |
Definition at line 44 of file ginxlog.c.
References BufferGetPage(), data, XLogReaderState::EndRecPtr, GIN_COMPRESSED, GIN_DATA, GIN_LEAF, GinDataLeafPageGetPostingList, GinDataPageSetDataSize, GinInitBuffer(), MarkBufferDirty(), PageSetLSN(), UnlockReleaseBuffer(), XLogInitBufferForRedo(), and XLogRecGetData.
Referenced by gin_redo().
|
static |
Definition at line 675 of file ginxlog.c.
References Assert, BufferGetBlockNumber(), BufferGetPage(), data, XLogReaderState::EndRecPtr, GIN_DELETED, GIN_METAPAGE_BLKNO, GinInitBuffer(), GinInitMetabuffer(), GinPageGetMeta, i, MarkBufferDirty(), PageSetLSN(), UnlockReleaseBuffer(), XLogInitBufferForRedo(), and XLogRecGetData.
Referenced by gin_redo().
|
static |
Definition at line 477 of file ginxlog.c.
References Assert, BLK_NEEDS_REDO, BufferGetPage(), BufferIsValid(), data, XLogReaderState::EndRecPtr, GinPageDeletePostingItem(), GinPageGetOpaque, GinPageIsData, GinPageIsLeaf, GinPageSetDeleted, GinPageSetDeleteXid, MarkBufferDirty(), PageSetLSN(), UnlockReleaseBuffer(), XLogReadBufferForRedo(), and XLogRecGetData.
Referenced by gin_redo().
|
static |
Definition at line 347 of file ginxlog.c.
References Assert, BLK_NEEDS_REDO, BlockIdGetBlockNumber(), BufferGetPage(), BufferIsValid(), data, XLogReaderState::EndRecPtr, GIN_INSERT_ISDATA, GIN_INSERT_ISLEAF, GinPageIsData, ginRedoClearIncompleteSplit(), ginRedoInsertData(), ginRedoInsertEntry(), InvalidBlockNumber, len, MarkBufferDirty(), PageSetLSN(), UnlockReleaseBuffer(), XLogReadBufferForRedo(), XLogRecGetBlockData(), and XLogRecGetData.
Referenced by gin_redo().
|
static |
Definition at line 319 of file ginxlog.c.
References Assert, BufferGetPage(), data, GinDataPageAddPostingItem(), GinDataPageGetPostingItem, GinPageIsLeaf, ginRedoRecompress(), and PostingItemSetBlockNumber.
Referenced by ginRedoInsert().
|
static |
Definition at line 71 of file ginxlog.c.
References Assert, BufferGetPage(), BufferGetTag(), data, RelFileLocator::dbOid, elog, ERROR, FirstOffsetNumber, GinPageIsLeaf, GinSetDownlink, IndexTupleSize, InvalidBlockNumber, InvalidOffsetNumber, PageAddItem, PageGetItem(), PageGetItemId(), PageGetMaxOffsetNumber(), PageIndexTupleDelete(), RelFileLocator::relNumber, and RelFileLocator::spcOid.
Referenced by ginRedoInsert().
|
static |
Definition at line 620 of file ginxlog.c.
References Assert, BufferGetPage(), data, elog, XLogReaderState::EndRecPtr, ERROR, FirstOffsetNumber, GIN_LIST, GinInitBuffer(), GinPageGetOpaque, GinPageSetFullRow, i, IndexTupleSize, InvalidBlockNumber, InvalidOffsetNumber, MarkBufferDirty(), PageAddItem, PageSetLSN(), UnlockReleaseBuffer(), XLogInitBufferForRedo(), XLogRecGetBlockData(), and XLogRecGetData.
Referenced by gin_redo().
|
static |
Definition at line 117 of file ginxlog.c.
References Assert, data, elog, ERROR, GIN_SEGMENT_ADDITEMS, GIN_SEGMENT_DELETE, GIN_SEGMENT_INSERT, GIN_SEGMENT_REPLACE, ginCompressPostingList(), GinDataLeafPageGetPostingList, GinDataLeafPageGetPostingListSize, GinDataPageGetData, GinDataPageSetDataSize, ginMergeItemPointers(), GinNextPostingListSegment, GinPageGetOpaque, GinPageIsCompressed, GinPageSetCompressed, ginPostingListDecode(), InvalidOffsetNumber, items, nitems, PageGetSpecialPointer(), palloc(), SHORTALIGN, and SizeOfGinPostingList.
Referenced by ginRedoInsertData(), and ginRedoVacuumDataLeafPage().
|
static |
Definition at line 402 of file ginxlog.c.
References BLK_RESTORED, data, elog, ERROR, GIN_INSERT_ISLEAF, GIN_SPLIT_ROOT, ginRedoClearIncompleteSplit(), UnlockReleaseBuffer(), XLogReadBufferForRedo(), and XLogRecGetData.
Referenced by gin_redo().
|
static |
Definition at line 528 of file ginxlog.c.
References Assert, BLK_NEEDS_REDO, BufferGetBlockNumber(), BufferGetPage(), BufferIsValid(), data, elog, XLogReaderState::EndRecPtr, ERROR, FirstOffsetNumber, GIN_METAPAGE_BLKNO, GinInitMetabuffer(), GinPageGetMeta, GinPageGetOpaque, i, IndexTupleSize, InvalidBlockNumber, InvalidOffsetNumber, MarkBufferDirty(), OffsetNumberNext, PageAddItem, PageGetMaxOffsetNumber(), PageIsEmpty(), PageSetLSN(), UnlockReleaseBuffer(), XLogInitBufferForRedo(), XLogReadBufferForRedo(), XLogRecGetBlockData(), and XLogRecGetData.
Referenced by gin_redo().
|
static |
Definition at line 452 of file ginxlog.c.
References Assert, BLK_NEEDS_REDO, BufferGetPage(), BufferIsValid(), ginxlogVacuumDataLeafPage::data, XLogReaderState::EndRecPtr, GinPageIsData, GinPageIsLeaf, ginRedoRecompress(), len, MarkBufferDirty(), PageSetLSN(), UnlockReleaseBuffer(), XLogReadBufferForRedo(), and XLogRecGetBlockData().
Referenced by gin_redo().
|
static |
Definition at line 440 of file ginxlog.c.
References BLK_RESTORED, elog, ERROR, UnlockReleaseBuffer(), and XLogReadBufferForRedo().
Referenced by gin_redo().
|
static |
Definition at line 22 of file ginxlog.c.
Referenced by gin_redo(), gin_xlog_cleanup(), gin_xlog_startup(), and ginInsertCleanup().