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