| /*------------------------------------------------------------------------- |
| * |
| * dbcommands_xlog.h |
| * Database resource manager XLOG definitions (create/drop database). |
| * |
| * |
| * Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group |
| * Portions Copyright (c) 1994, Regents of the University of California |
| * |
| * src/include/commands/dbcommands_xlog.h |
| * |
| *------------------------------------------------------------------------- |
| */ |
| #ifndef DBCOMMANDS_XLOG_H |
| #define DBCOMMANDS_XLOG_H |
| |
| #include "access/xlogreader.h" |
| #include "lib/stringinfo.h" |
| |
| /* record types */ |
| #define XLOG_DBASE_CREATE 0x00 |
| #define XLOG_DBASE_DROP 0x10 |
| |
| typedef struct xl_dbase_create_rec |
| { |
| /* Records copying of a single subdirectory incl. contents */ |
| Oid db_id; |
| Oid tablespace_id; |
| Oid src_db_id; |
| Oid src_tablespace_id; |
| } xl_dbase_create_rec; |
| |
| typedef struct xl_dbase_drop_rec |
| { |
| Oid db_id; |
| int ntablespaces; /* number of tablespace IDs */ |
| Oid tablespace_ids[FLEXIBLE_ARRAY_MEMBER]; |
| } xl_dbase_drop_rec; |
| #define MinSizeOfDbaseDropRec offsetof(xl_dbase_drop_rec, tablespace_ids) |
| |
| extern void dbase_redo(XLogReaderState *rptr); |
| extern void dbase_desc(StringInfo buf, XLogReaderState *rptr); |
| extern const char *dbase_identify(uint8 info); |
| |
| #endif /* DBCOMMANDS_XLOG_H */ |