1 /*-------------------------------------------------------------------------
2  *
3  * dbcommands_xlog.h
4  *		Database resource manager XLOG definitions (create/drop database).
5  *
6  *
7  * Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
8  * Portions Copyright (c) 1994, Regents of the University of California
9  *
10  * src/include/commands/dbcommands_xlog.h
11  *
12  *-------------------------------------------------------------------------
13  */
14 #ifndef DBCOMMANDS_XLOG_H
15 #define DBCOMMANDS_XLOG_H
16 
17 #include "access/xlogreader.h"
18 #include "lib/stringinfo.h"
19 
20 /* record types */
21 #define XLOG_DBASE_CREATE		0x00
22 #define XLOG_DBASE_DROP			0x10
23 
24 typedef struct xl_dbase_create_rec
25 {
26 	/* Records copying of a single subdirectory incl. contents */
27 	Oid			db_id;
28 	Oid			tablespace_id;
29 	Oid			src_db_id;
30 	Oid			src_tablespace_id;
31 } xl_dbase_create_rec;
32 
33 typedef struct xl_dbase_drop_rec
34 {
35 	/* Records dropping of a single subdirectory incl. contents */
36 	Oid			db_id;
37 	Oid			tablespace_id;
38 } xl_dbase_drop_rec;
39 
40 extern void dbase_redo(XLogReaderState *rptr);
41 extern void dbase_desc(StringInfo buf, XLogReaderState *rptr);
42 extern const char *dbase_identify(uint8 info);
43 
44 #endif							/* DBCOMMANDS_XLOG_H */
45