Age Owner Branch data TLA Line data Source code
1 : : /*-------------------------------------------------------------------------
2 : : *
3 : : * committsdesc.c
4 : : * rmgr descriptor routines for access/transam/commit_ts.c
5 : : *
6 : : * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
7 : : * Portions Copyright (c) 1994, Regents of the University of California
8 : : *
9 : : *
10 : : * IDENTIFICATION
11 : : * src/backend/access/rmgrdesc/committsdesc.c
12 : : *
13 : : *-------------------------------------------------------------------------
14 : : */
15 : : #include "postgres.h"
16 : :
17 : : #include "access/commit_ts.h"
18 : :
19 : :
20 : : void
3930 alvherre@alvh.no-ip. 21 :UBC 0 : commit_ts_desc(StringInfo buf, XLogReaderState *record)
22 : : {
23 : 0 : char *rec = XLogRecGetData(record);
24 : 0 : uint8 info = XLogRecGetInfo(record) & ~XLR_INFO_MASK;
25 : :
26 [ # # ]: 0 : if (info == COMMIT_TS_ZEROPAGE)
27 : : {
28 : : int64 pageno;
29 : :
647 akorotkov@postgresql 30 : 0 : memcpy(&pageno, rec, sizeof(pageno));
161 peter@eisentraut.org 31 : 0 : appendStringInfo(buf, "%" PRId64, pageno);
32 : : }
3930 alvherre@alvh.no-ip. 33 [ # # ]: 0 : else if (info == COMMIT_TS_TRUNCATE)
34 : : {
3152 35 : 0 : xl_commit_ts_truncate *trunc = (xl_commit_ts_truncate *) rec;
36 : :
161 peter@eisentraut.org 37 : 0 : appendStringInfo(buf, "pageno %" PRId64 ", oldestXid %u",
38 : : trunc->pageno, trunc->oldestXid);
39 : : }
3930 alvherre@alvh.no-ip. 40 : 0 : }
41 : :
42 : : const char *
43 : 0 : commit_ts_identify(uint8 info)
44 : : {
45 [ # # # ]: 0 : switch (info)
46 : : {
47 : 0 : case COMMIT_TS_ZEROPAGE:
48 : 0 : return "ZEROPAGE";
49 : 0 : case COMMIT_TS_TRUNCATE:
50 : 0 : return "TRUNCATE";
51 : 0 : default:
52 : 0 : return NULL;
53 : : }
54 : : }
|