diff options
Diffstat (limited to 'src/backend/access/rmgrdesc/dbasedesc.c')
-rw-r--r-- | src/backend/access/rmgrdesc/dbasedesc.c | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/backend/access/rmgrdesc/dbasedesc.c b/src/backend/access/rmgrdesc/dbasedesc.c new file mode 100644 index 00000000000..d7ee96cb859 --- /dev/null +++ b/src/backend/access/rmgrdesc/dbasedesc.c @@ -0,0 +1,43 @@ +/*------------------------------------------------------------------------- + * + * dbasedesc.c + * rmgr descriptor routines for commands/dbcommands.c + * + * Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * + * IDENTIFICATION + * src/backend/access/rmgrdesc/dbasedesc.c + * + *------------------------------------------------------------------------- + */ +#include "postgres.h" + +#include "commands/dbcommands.h" +#include "lib/stringinfo.h" + + +void +dbase_desc(StringInfo buf, uint8 xl_info, char *rec) +{ + uint8 info = xl_info & ~XLR_INFO_MASK; + + if (info == XLOG_DBASE_CREATE) + { + xl_dbase_create_rec *xlrec = (xl_dbase_create_rec *) rec; + + appendStringInfo(buf, "create db: copy dir %u/%u to %u/%u", + xlrec->src_db_id, xlrec->src_tablespace_id, + xlrec->db_id, xlrec->tablespace_id); + } + else if (info == XLOG_DBASE_DROP) + { + xl_dbase_drop_rec *xlrec = (xl_dbase_drop_rec *) rec; + + appendStringInfo(buf, "drop db: dir %u/%u", + xlrec->db_id, xlrec->tablespace_id); + } + else + appendStringInfo(buf, "UNKNOWN"); +} |