PostgreSQL Source Code: src/include/access/clog.h Source File

PostgreSQL Source Code git master
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-2025, 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 */
25 typedef 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
32 typedef struct xl_clog_truncate
33{
34 int64 pageno;
35 TransactionId oldestXact;
36 Oid oldestXactDb;
37 } xl_clog_truncate;
38
39extern void TransactionIdSetTreeStatus(TransactionId xid, int nsubxids,
40 TransactionId *subxids, XidStatus status, XLogRecPtr lsn);
41extern XidStatus TransactionIdGetStatus(TransactionId xid, XLogRecPtr *lsn);
42
43extern Size CLOGShmemSize(void);
44extern void CLOGShmemInit(void);
45extern void BootStrapCLOG(void);
46extern void StartupCLOG(void);
47extern void TrimCLOG(void);
48extern void CheckPointCLOG(void);
49extern void ExtendCLOG(TransactionId newestXact);
50extern void TruncateCLOG(TransactionId oldestXact, Oid oldestxid_datoid);
51
52extern int clogsyncfiletag(const FileTag *ftag, char *path);
53
54/* XLOG stuff */
55 #define CLOG_ZEROPAGE 0x00
56 #define CLOG_TRUNCATE 0x10
57
58extern void clog_redo(XLogReaderState *record);
59extern void clog_desc(StringInfo buf, XLogReaderState *record);
60extern const char *clog_identify(uint8 info);
61
62#endif /* CLOG_H */
uint8_t uint8
Definition: c.h:536
int64_t int64
Definition: c.h:535
uint32 TransactionId
Definition: c.h:657
size_t Size
Definition: c.h:610
XidStatus TransactionIdGetStatus(TransactionId xid, XLogRecPtr *lsn)
Definition: clog.c:733
void TransactionIdSetTreeStatus(TransactionId xid, int nsubxids, TransactionId *subxids, XidStatus status, XLogRecPtr lsn)
Definition: clog.c:181
int XidStatus
Definition: clog.h:25
void CLOGShmemInit(void)
Definition: clog.c:785
void ExtendCLOG(TransactionId newestXact)
Definition: clog.c:924
void clog_redo(XLogReaderState *record)
Definition: clog.c:1062
struct xl_clog_truncate xl_clog_truncate
void TruncateCLOG(TransactionId oldestXact, Oid oldestxid_datoid)
Definition: clog.c:966
Size CLOGShmemSize(void)
Definition: clog.c:779
int clogsyncfiletag(const FileTag *ftag, char *path)
Definition: clog.c:1094
void BootStrapCLOG(void)
Definition: clog.c:831
void StartupCLOG(void)
Definition: clog.c:842
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:902
void TrimCLOG(void)
Definition: clog.c:857
static char * buf
Definition: pg_test_fsync.c:72
unsigned int Oid
Definition: postgres_ext.h:32
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

AltStyle によって変換されたページ (->オリジナル) /