PostgreSQL Source Code git master
Loading...
Searching...
No Matches
clog.h
Go to the documentation of this file.
1/*
2 * clog.h
3 *
4 * PostgreSQL transaction-commit-log manager
5 *
6 * Portions Copyright (c) 1996-2026, PostgreSQL Global Development Group
7 * Portions Copyright (c) 1994, Regents of the University of California
8 *
9 * src/include/access/clog.h
10 */
11#ifndef CLOG_H
12#define CLOG_H
13
14#include "access/xlogreader.h"
15#include "storage/sync.h"
16#include "lib/stringinfo.h"
17
18/*
19 * Possible transaction statuses --- note that all-zeroes is the initial
20 * state.
21 *
22 * A "subcommitted" transaction is a committed subtransaction whose parent
23 * hasn't committed or aborted yet.
24 */
25typedef int XidStatus;
26
27#define TRANSACTION_STATUS_IN_PROGRESS 0x00
28#define TRANSACTION_STATUS_COMMITTED 0x01
29#define TRANSACTION_STATUS_ABORTED 0x02
30#define TRANSACTION_STATUS_SUB_COMMITTED 0x03
31
38
40 TransactionId *subxids, XidStatus status, XLogRecPtr lsn);
42
43extern void BootStrapCLOG(void);
44extern void StartupCLOG(void);
45extern void TrimCLOG(void);
46extern void CheckPointCLOG(void);
48extern void TruncateCLOG(TransactionId oldestXact, Oid oldestxid_datoid);
49
50extern int clogsyncfiletag(const FileTag *ftag, char *path);
51
52/* XLOG stuff */
53#define CLOG_ZEROPAGE 0x00
54#define CLOG_TRUNCATE 0x10
55
56extern void clog_redo(XLogReaderState *record);
57extern void clog_desc(StringInfo buf, XLogReaderState *record);
58extern const char *clog_identify(uint8 info);
59
60#endif /* CLOG_H */
uint8_t uint8
Definition c.h:622
int64_t int64
Definition c.h:621
uint32 TransactionId
Definition c.h:736
XidStatus TransactionIdGetStatus(TransactionId xid, XLogRecPtr *lsn)
Definition clog.c:744
void TransactionIdSetTreeStatus(TransactionId xid, int nsubxids, TransactionId *subxids, XidStatus status, XLogRecPtr lsn)
Definition clog.c:192
int XidStatus
Definition clog.h:25
void ExtendCLOG(TransactionId newestXact)
Definition clog.c:944
void clog_redo(XLogReaderState *record)
Definition clog.c:1090
void TruncateCLOG(TransactionId oldestXact, Oid oldestxid_datoid)
Definition clog.c:986
int clogsyncfiletag(const FileTag *ftag, char *path)
Definition clog.c:1122
void BootStrapCLOG(void)
Definition clog.c:851
void StartupCLOG(void)
Definition clog.c:862
void clog_desc(StringInfo buf, XLogReaderState *record)
Definition clogdesc.c:21
const char * clog_identify(uint8 info)
Definition clogdesc.c:44
void CheckPointCLOG(void)
Definition clog.c:922
void TrimCLOG(void)
Definition clog.c:877
static char buf[DEFAULT_XLOG_SEG_SIZE]
unsigned int Oid
static int fb(int x)
Definition sync.h:51
int64 pageno
Definition clog.h:34
Oid oldestXactDb
Definition clog.h:36
TransactionId oldestXact
Definition clog.h:35
uint64 XLogRecPtr
Definition xlogdefs.h:21