Line data Source code
1 : /*-------------------------------------------------------------------------
2 : *
3 : * relmapdesc.c
4 : * rmgr descriptor routines for utils/cache/relmapper.c
5 : *
6 : * Portions Copyright (c) 1996-2026, PostgreSQL Global Development Group
7 : * Portions Copyright (c) 1994, Regents of the University of California
8 : *
9 : *
10 : * IDENTIFICATION
11 : * src/backend/access/rmgrdesc/relmapdesc.c
12 : *
13 : *-------------------------------------------------------------------------
14 : */
15 : #include "postgres.h"
16 :
17 : #include "utils/relmapper.h"
18 :
19 : void
20 12 : relmap_desc(StringInfo buf, XLogReaderState *record)
21 : {
22 12 : char *rec = XLogRecGetData(record);
23 12 : uint8 info = XLogRecGetInfo(record) & ~XLR_INFO_MASK;
24 :
25 12 : if (info == XLOG_RELMAP_UPDATE)
26 : {
27 12 : xl_relmap_update *xlrec = (xl_relmap_update *) rec;
28 :
29 12 : appendStringInfo(buf, "database %u tablespace %u size %d",
30 : xlrec->dbid, xlrec->tsid, xlrec->nbytes);
31 : }
32 12 : }
33 :
34 : const char *
35 13 : relmap_identify(uint8 info)
36 : {
37 13 : const char *id = NULL;
38 :
39 13 : switch (info & ~XLR_INFO_MASK)
40 : {
41 13 : case XLOG_RELMAP_UPDATE:
42 13 : id = "UPDATE";
43 13 : break;
44 : }
45 :
46 13 : return id;
47 : }
|