1/*-------------------------------------------------------------------------
2 *
3 * dbcommands_xlog.h
4 * Database resource manager XLOG definitions (create/drop database).
5 *
6 *
7 * Portions Copyright (c) 1996-2019, 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
24typedef 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
33typedef 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
40extern void dbase_redo(XLogReaderState *rptr);
41extern void dbase_desc(StringInfo buf, XLogReaderState *rptr);
42extern const char *dbase_identify(uint8 info);
43
44#endif /* DBCOMMANDS_XLOG_H */
45