PostgreSQL Source Code
git master
|
#include "access/xlog.h"
#include "access/xlogreader.h"
#include "access/xloginsert.h"
#include "storage/bufpage.h"
#include "utils/rel.h"
Go to the source code of this file.
Macros | |
#define | MAX_GENERIC_XLOG_PAGES XLR_NORMAL_MAX_BLOCK_ID |
#define | GENERIC_XLOG_FULL_IMAGE 0x0001 /* write full-page image */ |
Typedefs | |
typedef struct GenericXLogState | GenericXLogState |
Functions | |
GenericXLogState * | GenericXLogStart (Relation relation) |
Page | GenericXLogRegisterBuffer (GenericXLogState *state, Buffer buffer, int flags) |
XLogRecPtr | GenericXLogFinish (GenericXLogState *state) |
void | GenericXLogAbort (GenericXLogState *state) |
void | generic_redo (XLogReaderState *record) |
const char * | generic_identify (uint8 info) |
void | generic_desc (StringInfo buf, XLogReaderState *record) |
void | generic_mask (char *page, BlockNumber blkno) |
#define GENERIC_XLOG_FULL_IMAGE 0x0001 /* write full-page image */ |
Definition at line 26 of file generic_xlog.h.
#define MAX_GENERIC_XLOG_PAGES XLR_NORMAL_MAX_BLOCK_ID |
Definition at line 23 of file generic_xlog.h.
typedef struct GenericXLogState GenericXLogState |
Definition at line 1 of file generic_xlog.h.
void generic_desc | ( | StringInfo | buf, |
XLogReaderState * | record | ||
) |
Definition at line 24 of file genericdesc.c.
References appendStringInfo(), buf, XLogRecGetData, and XLogRecGetDataLen.
const char* generic_identify | ( | uint8 | info | ) |
Definition at line 52 of file genericdesc.c.
void generic_mask | ( | char * | page, |
BlockNumber | blkno | ||
) |
Definition at line 539 of file generic_xlog.c.
References mask_page_lsn_and_checksum(), and mask_unused_space().
void generic_redo | ( | XLogReaderState * | record | ) |
Definition at line 478 of file generic_xlog.c.
References generate_unaccent_rules::action, applyPageRedo(), Assert, BLK_NEEDS_REDO, BufferGetPage(), BufferIsValid(), XLogReaderState::EndRecPtr, InvalidBuffer, MarkBufferDirty(), MAX_GENERIC_XLOG_PAGES, PageSetLSN(), PageHeaderData::pd_lower, PageHeaderData::pd_upper, UnlockReleaseBuffer(), XLogReadBufferForRedo(), XLogRecGetBlockData(), XLogRecHasBlockRef, and XLogRecMaxBlockId.
void GenericXLogAbort | ( | GenericXLogState * | state | ) |
Definition at line 444 of file generic_xlog.c.
References pfree().
Referenced by blbulkdelete(), and blinsert().
XLogRecPtr GenericXLogFinish | ( | GenericXLogState * | state | ) |
Definition at line 337 of file generic_xlog.c.
References GenericXLogPageData::buffer, BufferGetPage(), BufferIsInvalid, computeDelta(), GenericXLogPageData::delta, GenericXLogPageData::deltaLen, END_CRIT_SECTION, GenericXLogPageData::flags, GENERIC_XLOG_FULL_IMAGE, i, if(), GenericXLogPageData::image, InvalidXLogRecPtr, MarkBufferDirty(), MAX_GENERIC_XLOG_PAGES, PageSetLSN(), PageHeaderData::pd_lower, PageHeaderData::pd_upper, pfree(), REGBUF_FORCE_IMAGE, REGBUF_STANDARD, START_CRIT_SECTION, XLogBeginInsert(), XLogInsert(), XLogRegisterBufData(), and XLogRegisterBuffer().
Referenced by blbulkdelete(), blinsert(), BloomInitMetapage(), and flushCachedPage().
Page GenericXLogRegisterBuffer | ( | GenericXLogState * | state, |
Buffer | buffer, | ||
int | flags | ||
) |
Definition at line 299 of file generic_xlog.c.
References GenericXLogPageData::buffer, BufferGetPage(), BufferIsInvalid, elog, ERROR, GenericXLogPageData::flags, GenericXLogPageData::image, and MAX_GENERIC_XLOG_PAGES.
Referenced by blbulkdelete(), blinsert(), BloomInitMetapage(), and flushCachedPage().
GenericXLogState* GenericXLogStart | ( | Relation | relation | ) |
Definition at line 269 of file generic_xlog.c.
References i, InvalidBuffer, MAX_GENERIC_XLOG_PAGES, palloc_aligned(), PG_IO_ALIGN_SIZE, and RelationNeedsWAL.
Referenced by blbulkdelete(), blinsert(), BloomInitMetapage(), and flushCachedPage().