Line data Source code
1 : /*-------------------------------------------------------------------------
2 : *
3 : * tblspcdesc.c
4 : * rmgr descriptor routines for commands/tablespace.c
5 : *
6 : * Portions Copyright (c) 1996-2017, PostgreSQL Global Development Group
7 : * Portions Copyright (c) 1994, Regents of the University of California
8 : *
9 : *
10 : * IDENTIFICATION
11 : * src/backend/access/rmgrdesc/tblspcdesc.c
12 : *
13 : *-------------------------------------------------------------------------
14 : */
15 : #include "postgres.h"
16 :
17 : #include "commands/tablespace.h"
18 :
19 :
20 : void
21 0 : tblspc_desc(StringInfo buf, XLogReaderState *record)
22 : {
23 0 : char *rec = XLogRecGetData(record);
24 0 : uint8 info = XLogRecGetInfo(record) & ~XLR_INFO_MASK;
25 :
26 0 : if (info == XLOG_TBLSPC_CREATE)
27 : {
28 0 : xl_tblspc_create_rec *xlrec = (xl_tblspc_create_rec *) rec;
29 :
30 0 : appendStringInfo(buf, "%u \"%s\"", xlrec->ts_id, xlrec->ts_path);
31 : }
32 0 : else if (info == XLOG_TBLSPC_DROP)
33 : {
34 0 : xl_tblspc_drop_rec *xlrec = (xl_tblspc_drop_rec *) rec;
35 :
36 0 : appendStringInfo(buf, "%u", xlrec->ts_id);
37 : }
38 0 : }
39 :
40 : const char *
41 0 : tblspc_identify(uint8 info)
42 : {
43 0 : const char *id = NULL;
44 :
45 0 : switch (info & ~XLR_INFO_MASK)
46 : {
47 : case XLOG_TBLSPC_CREATE:
48 0 : id = "CREATE";
49 0 : break;
50 : case XLOG_TBLSPC_DROP:
51 0 : id = "DROP";
52 0 : break;
53 : }
54 :
55 0 : return id;
56 : }
|