1 /*-------------------------------------------------------------------------
4 * prototypes for XLog support for backend/catalog/storage.c
7 * Portions Copyright (c) 1996-2013, PostgreSQL Global Development Group
8 * Portions Copyright (c) 1994, Regents of the University of California
10 * src/include/catalog/storage_xlog.h
12 *-------------------------------------------------------------------------
14 #ifndef STORAGE_XLOG_H
15 #define STORAGE_XLOG_H
17 #include "access/xlog.h"
18 #include "storage/block.h"
19 #include "storage/relfilenode.h"
22 * Declarations for smgr-related XLOG records
24 * Note: we log file creation and truncation here, but logging of deletion
25 * actions is handled by xact.c, because it is part of transaction commit.
28 /* XLOG gives us high 4 bits */
29 #define XLOG_SMGR_CREATE 0x10
30 #define XLOG_SMGR_TRUNCATE 0x20
32 typedef struct xl_smgr_create
38 typedef struct xl_smgr_truncate
44 extern void log_smgrcreate(RelFileNode *rnode, ForkNumber forkNum);
46 extern void smgr_redo(XLogRecPtr lsn, XLogRecord *record);
47 extern void smgr_desc(StringInfo buf, uint8 xl_info, char *rec);
49 #endif /* STORAGE_XLOG_H */