Age Owner Branch data TLA Line data Source code
1 : : /*-------------------------------------------------------------------------
2 : : *
3 : : * genericdesc.c
4 : : * rmgr descriptor routines for access/transam/generic_xlog.c
5 : : *
6 : : *
7 : : * Portions Copyright (c) 1996-2024, 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
2935 teodor@sigaev.ru 24 :UBC 0 : generic_desc(StringInfo buf, XLogReaderState *record)
25 : : {
26 : 0 : Pointer ptr = XLogRecGetData(record),
27 : 0 : end = ptr + XLogRecGetDataLen(record);
28 : :
29 [ # # ]: 0 : while (ptr < end)
30 : : {
31 : : OffsetNumber offset,
32 : : 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 : : else
43 : 0 : appendStringInfo(buf, "offset %u, length %u", offset, length);
44 : : }
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 : 0 : generic_identify(uint8 info)
53 : : {
54 : 0 : return "Generic";
55 : : }
|