Age Owner 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-2023, 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 : #include "storage/relfilelocator.h"
19 :
20 : /*
21 : * Description of generic xlog record: write page regions that this record
22 : * overrides.
23 : */
24 : void
2564 teodor 25 UBC 0 : generic_desc(StringInfo buf, XLogReaderState *record)
26 : {
27 0 : Pointer ptr = XLogRecGetData(record),
28 0 : end = ptr + XLogRecGetDataLen(record);
29 :
30 0 : while (ptr < end)
31 : {
32 : OffsetNumber offset,
33 : length;
34 :
35 0 : memcpy(&offset, ptr, sizeof(offset));
36 0 : ptr += sizeof(offset);
37 0 : memcpy(&length, ptr, sizeof(length));
38 0 : ptr += sizeof(length);
39 0 : ptr += length;
40 :
41 0 : if (ptr < end)
42 0 : appendStringInfo(buf, "offset %u, length %u; ", offset, length);
43 : else
44 0 : appendStringInfo(buf, "offset %u, length %u", offset, length);
45 : }
46 0 : }
47 :
48 : /*
49 : * Identification of generic xlog record: we don't distinguish any subtypes
50 : * inside generic xlog records.
51 : */
52 : const char *
53 0 : generic_identify(uint8 info)
54 : {
55 0 : return "Generic";
56 : }
|