Age Owner TLA Line data Source code
1 : /*-------------------------------------------------------------------------
2 : *
3 : * replorigindesc.c
4 : * rmgr descriptor routines for replication/logical/origin.c
5 : *
6 : * Portions Copyright (c) 2015-2023, PostgreSQL Global Development Group
7 : *
8 : *
9 : * IDENTIFICATION
10 : * src/backend/access/rmgrdesc/replorigindesc.c
11 : *
12 : *-------------------------------------------------------------------------
13 : */
14 : #include "postgres.h"
15 :
16 : #include "replication/origin.h"
17 :
18 : void
2902 andres 19 UBC 0 : replorigin_desc(StringInfo buf, XLogReaderState *record)
20 : {
21 0 : char *rec = XLogRecGetData(record);
22 0 : uint8 info = XLogRecGetInfo(record) & ~XLR_INFO_MASK;
23 :
24 0 : switch (info)
25 : {
26 0 : case XLOG_REPLORIGIN_SET:
27 : {
28 : xl_replorigin_set *xlrec;
29 :
30 0 : xlrec = (xl_replorigin_set *) rec;
31 :
32 0 : appendStringInfo(buf, "set %u; lsn %X/%X; force: %d",
33 0 : xlrec->node_id,
775 peter 34 0 : LSN_FORMAT_ARGS(xlrec->remote_lsn),
2902 andres 35 0 : xlrec->force);
36 0 : break;
37 : }
38 0 : case XLOG_REPLORIGIN_DROP:
39 : {
40 : xl_replorigin_drop *xlrec;
41 :
42 0 : xlrec = (xl_replorigin_drop *) rec;
43 :
44 0 : appendStringInfo(buf, "drop %u", xlrec->node_id);
45 0 : break;
46 : }
47 : }
48 0 : }
49 :
50 : const char *
51 0 : replorigin_identify(uint8 info)
52 : {
53 0 : switch (info)
54 : {
55 0 : case XLOG_REPLORIGIN_SET:
56 0 : return "SET";
57 0 : case XLOG_REPLORIGIN_DROP:
58 0 : return "DROP";
59 0 : default:
60 0 : return NULL;
61 : }
62 : }
|