Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes15kdownloads
commit_ts.h75 linesDownload Raw Back to access
1/*2 * commit_ts.h3 *4 * PostgreSQL commit timestamp manager5 *6 * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group7 * Portions Copyright (c) 1994, Regents of the University of California8 *9 * src/include/access/commit_ts.h10 */11#ifndef COMMIT_TS_H12#define COMMIT_TS_H13 14#include "access/xlog.h"15#include "datatype/timestamp.h"16#include "replication/origin.h"17#include "storage/sync.h"18 19 20extern PGDLLIMPORT bool track_commit_timestamp;21 22extern void TransactionTreeSetCommitTsData(TransactionId xid, int nsubxids,23										   TransactionId *subxids, TimestampTz timestamp,24										   RepOriginId nodeid);25extern bool TransactionIdGetCommitTsData(TransactionId xid,26										 TimestampTz *ts, RepOriginId *nodeid);27extern TransactionId GetLatestCommitTsData(TimestampTz *ts,28										   RepOriginId *nodeid);29 30extern Size CommitTsShmemBuffers(void);31extern Size CommitTsShmemSize(void);32extern void CommitTsShmemInit(void);33extern void BootStrapCommitTs(void);34extern void StartupCommitTs(void);35extern void CommitTsParameterChange(bool newvalue, bool oldvalue);36extern void CompleteCommitTsInitialization(void);37extern void CheckPointCommitTs(void);38extern void ExtendCommitTs(TransactionId newestXact);39extern void TruncateCommitTs(TransactionId oldestXact);40extern void SetCommitTsLimit(TransactionId oldestXact,41							 TransactionId newestXact);42extern void AdvanceOldestCommitTsXid(TransactionId oldestXact);43 44extern int	committssyncfiletag(const FileTag *ftag, char *path);45 46/* XLOG stuff */47#define COMMIT_TS_ZEROPAGE		0x0048#define COMMIT_TS_TRUNCATE		0x1049 50typedef struct xl_commit_ts_set51{52	TimestampTz timestamp;53	RepOriginId nodeid;54	TransactionId mainxid;55	/* subxact Xids follow */56}			xl_commit_ts_set;57 58#define SizeOfCommitTsSet	(offsetof(xl_commit_ts_set, mainxid) + \59							 sizeof(TransactionId))60 61typedef struct xl_commit_ts_truncate62{63	int			pageno;64	TransactionId oldestXid;65} xl_commit_ts_truncate;66 67#define SizeOfCommitTsTruncate	(offsetof(xl_commit_ts_truncate, oldestXid) + \68								 sizeof(TransactionId))69 70extern void commit_ts_redo(XLogReaderState *record);71extern void commit_ts_desc(StringInfo buf, XLogReaderState *record);72extern const char *commit_ts_identify(uint8 info);73 74#endif							/* COMMIT_TS_H */75 
codekingpro/portable-devtools · Team Ai