Age Owner Branch data 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-2024, 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
3273 andres@anarazel.de 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,
1146 peter@eisentraut.org 34 : 0 : LSN_FORMAT_ARGS(xlrec->remote_lsn),
3273 andres@anarazel.de 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 : : }
|