Coverage Report

Created: 2026-08-13 07:12

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/postgres/src/backend/access/rmgrdesc/replorigindesc.c
Line
Count
Source
1
/*-------------------------------------------------------------------------
2
 *
3
 * replorigindesc.c
4
 *    rmgr descriptor routines for replication/logical/origin.c
5
 *
6
 * Portions Copyright (c) 2015-2026, 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
19
replorigin_desc(StringInfo buf, XLogReaderState *record)
20
0
{
21
0
  char     *rec = XLogRecGetData(record);
22
0
  uint8   info = XLogRecGetInfo(record) & ~XLR_INFO_MASK;
23
24
0
  switch (info)
25
0
  {
26
0
    case XLOG_REPLORIGIN_SET:
27
0
      {
28
0
        xl_replorigin_set *xlrec;
29
30
0
        xlrec = (xl_replorigin_set *) rec;
31
32
0
        appendStringInfo(buf, "set %u; lsn %X/%08X; force: %d",
33
0
                 xlrec->node_id,
34
0
                 LSN_FORMAT_ARGS(xlrec->remote_lsn),
35
0
                 xlrec->force);
36
0
        break;
37
0
      }
38
0
    case XLOG_REPLORIGIN_DROP:
39
0
      {
40
0
        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
0
      }
47
0
  }
48
0
}
49
50
const char *
51
replorigin_identify(uint8 info)
52
0
{
53
0
  switch (info)
54
0
  {
55
0
    case XLOG_REPLORIGIN_SET:
56
0
      return "SET";
57
0
    case XLOG_REPLORIGIN_DROP:
58
0
      return "DROP";
59
0
    default:
60
      return NULL;
61
0
  }
62
0
}