mirror of
https://git.postgresql.org/git/postgresql.git
synced 2026-03-14 16:16:59 +08:00
Rename this function to GenericXLogRegisterBuffer() to make it clearer what it does, and leave room for other sorts of "register" actions in future. Also, replace its "bool isNew" argument with an integer flags argument, so as to allow adding more flags in future without an API break. Alexander Korotkov, adjusted slightly by me
45 lines
1.4 KiB
C
45 lines
1.4 KiB
C
/*-------------------------------------------------------------------------
|
|
*
|
|
* generic_xlog.h
|
|
* Generic xlog API definition.
|
|
*
|
|
*
|
|
* Portions Copyright (c) 1996-2016, PostgreSQL Global Development Group
|
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
*
|
|
* src/include/access/generic_xlog.h
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
#ifndef GENERIC_XLOG_H
|
|
#define GENERIC_XLOG_H
|
|
|
|
#include "access/xlog.h"
|
|
#include "access/xlog_internal.h"
|
|
#include "access/xloginsert.h"
|
|
#include "storage/bufpage.h"
|
|
#include "utils/rel.h"
|
|
|
|
#define MAX_GENERIC_XLOG_PAGES XLR_NORMAL_MAX_BLOCK_ID
|
|
|
|
/* Flag bits for GenericXLogRegisterBuffer */
|
|
#define GENERIC_XLOG_FULL_IMAGE 0x0001 /* write full-page image */
|
|
|
|
/* state of generic xlog record construction */
|
|
struct GenericXLogState;
|
|
typedef struct GenericXLogState GenericXLogState;
|
|
|
|
/* API for construction of generic xlog records */
|
|
extern GenericXLogState *GenericXLogStart(Relation relation);
|
|
extern Page GenericXLogRegisterBuffer(GenericXLogState *state, Buffer buffer,
|
|
int flags);
|
|
extern XLogRecPtr GenericXLogFinish(GenericXLogState *state);
|
|
extern void GenericXLogAbort(GenericXLogState *state);
|
|
|
|
/* functions defined for rmgr */
|
|
extern void generic_redo(XLogReaderState *record);
|
|
extern const char *generic_identify(uint8 info);
|
|
extern void generic_desc(StringInfo buf, XLogReaderState *record);
|
|
|
|
#endif /* GENERIC_XLOG_H */
|