init
This commit is contained in:
59
db_include/catalog/storage_xlog.h
Executable file
59
db_include/catalog/storage_xlog.h
Executable file
@@ -0,0 +1,59 @@
|
||||
/*-------------------------------------------------------------------------
|
||||
*
|
||||
* storage_xlog.h
|
||||
* prototypes for XLog support for backend/catalog/storage.c
|
||||
*
|
||||
*
|
||||
* Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* src/include/catalog/storage_xlog.h
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
#ifndef STORAGE_XLOG_H
|
||||
#define STORAGE_XLOG_H
|
||||
|
||||
#include "access/xlogreader.h"
|
||||
#include "lib/stringinfo.h"
|
||||
#include "storage/block.h"
|
||||
#include "storage/relfilenode.h"
|
||||
|
||||
/*
|
||||
* Declarations for smgr-related XLOG records
|
||||
*
|
||||
* Note: we log file creation and truncation here, but logging of deletion
|
||||
* actions is handled by xact.c, because it is part of transaction commit.
|
||||
*/
|
||||
|
||||
/* XLOG gives us high 4 bits */
|
||||
#define XLOG_SMGR_CREATE 0x10
|
||||
#define XLOG_SMGR_TRUNCATE 0x20
|
||||
|
||||
typedef struct xl_smgr_create
|
||||
{
|
||||
RelFileNode rnode;
|
||||
ForkNumber forkNum;
|
||||
} xl_smgr_create;
|
||||
|
||||
/* flags for xl_smgr_truncate */
|
||||
#define SMGR_TRUNCATE_HEAP 0x0001
|
||||
#define SMGR_TRUNCATE_VM 0x0002
|
||||
#define SMGR_TRUNCATE_FSM 0x0004
|
||||
#define SMGR_TRUNCATE_ALL \
|
||||
(SMGR_TRUNCATE_HEAP|SMGR_TRUNCATE_VM|SMGR_TRUNCATE_FSM)
|
||||
|
||||
typedef struct xl_smgr_truncate
|
||||
{
|
||||
BlockNumber blkno;
|
||||
RelFileNode rnode;
|
||||
int flags;
|
||||
} xl_smgr_truncate;
|
||||
|
||||
extern void log_smgrcreate(const RelFileNode *rnode, ForkNumber forkNum);
|
||||
|
||||
extern void smgr_redo(XLogReaderState *record);
|
||||
extern void smgr_desc(StringInfo buf, XLogReaderState *record);
|
||||
extern const char *smgr_identify(uint8 info);
|
||||
|
||||
#endif /* STORAGE_XLOG_H */
|
||||
Reference in New Issue
Block a user