diff options
author | Heikki Linnakangas <heikki.linnakangas@iki.fi> | 2015-03-09 15:49:10 +0200 |
---|---|---|
committer | Heikki Linnakangas <heikki.linnakangas@iki.fi> | 2015-03-09 15:50:49 +0200 |
commit | f1fd515b393a283d7368ce45a92709d2c7f9a991 (patch) | |
tree | 8682d681e88ff0f608a2d8c7c2e2dd4f93ab4eb5 /src/include/commands/dbcommands_xlog.h | |
parent | b9e538b190d9cf4387361214eadc430393ebf852 (diff) |
Move WAL-related definitions from dbcommands.h to separate header file.
This makes it easier to write frontend programs that needs to understand
the WAL record format of CREATE/DROP DATABASE. dbcommands.h cannot easily
be #included in a frontend program, because it pulls in other header files
that need backend stuff, but the new dbcommands_xlog.h header file has
fewer dependencies.
Diffstat (limited to 'src/include/commands/dbcommands_xlog.h')
-rw-r--r-- | src/include/commands/dbcommands_xlog.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/include/commands/dbcommands_xlog.h b/src/include/commands/dbcommands_xlog.h new file mode 100644 index 00000000000..71ccf5e3553 --- /dev/null +++ b/src/include/commands/dbcommands_xlog.h @@ -0,0 +1,44 @@ +/*------------------------------------------------------------------------- + * + * dbcommands_xlog.h + * Database resource manager XLOG definitions (create/drop database). + * + * + * Portions Copyright (c) 1996-2015, 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 +{ + /* Records dropping of a single subdirectory incl. contents */ + Oid db_id; + Oid tablespace_id; +} xl_dbase_drop_rec; + +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 */ |