Coverage Report

Created: 2025-09-27 06:52

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/postgres/src/backend/access/rmgrdesc/genericdesc.c
Line
Count
Source
1
/*-------------------------------------------------------------------------
2
 *
3
 * genericdesc.c
4
 *    rmgr descriptor routines for access/transam/generic_xlog.c
5
 *
6
 *
7
 * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
8
 * Portions Copyright (c) 1994, Regents of the University of California
9
 *
10
 * src/backend/access/rmgrdesc/genericdesc.c
11
 *
12
 *-------------------------------------------------------------------------
13
 */
14
#include "postgres.h"
15
16
#include "access/generic_xlog.h"
17
#include "lib/stringinfo.h"
18
19
/*
20
 * Description of generic xlog record: write page regions that this record
21
 * overrides.
22
 */
23
void
24
generic_desc(StringInfo buf, XLogReaderState *record)
25
0
{
26
0
  Pointer   ptr = XLogRecGetData(record),
27
0
        end = ptr + XLogRecGetDataLen(record);
28
29
0
  while (ptr < end)
30
0
  {
31
0
    OffsetNumber offset,
32
0
          length;
33
34
0
    memcpy(&offset, ptr, sizeof(offset));
35
0
    ptr += sizeof(offset);
36
0
    memcpy(&length, ptr, sizeof(length));
37
0
    ptr += sizeof(length);
38
0
    ptr += length;
39
40
0
    if (ptr < end)
41
0
      appendStringInfo(buf, "offset %u, length %u; ", offset, length);
42
0
    else
43
0
      appendStringInfo(buf, "offset %u, length %u", offset, length);
44
0
  }
45
0
}
46
47
/*
48
 * Identification of generic xlog record: we don't distinguish any subtypes
49
 * inside generic xlog records.
50
 */
51
const char *
52
generic_identify(uint8 info)
53
0
{
54
0
  return "Generic";
55
0
}