|
PostgreSQL Source Code git master
|
#include "access/xlog.h"#include "datatype/timestamp.h"#include "replication/origin.h"#include "storage/sync.h"

Go to the source code of this file.
Data Structures | |
| struct | xl_commit_ts_truncate |
Macros | |
| #define | COMMIT_TS_ZEROPAGE 0x00 |
| #define | COMMIT_TS_TRUNCATE 0x10 |
| #define | SizeOfCommitTsTruncate |
Typedefs | |
| typedef struct xl_commit_ts_truncate | xl_commit_ts_truncate |
Functions | |
| void | TransactionTreeSetCommitTsData (TransactionId xid, int nsubxids, TransactionId *subxids, TimestampTz timestamp, ReplOriginId nodeid) |
| bool | TransactionIdGetCommitTsData (TransactionId xid, TimestampTz *ts, ReplOriginId *nodeid) |
| TransactionId | GetLatestCommitTsData (TimestampTz *ts, ReplOriginId *nodeid) |
| void | BootStrapCommitTs (void) |
| void | StartupCommitTs (void) |
| void | CommitTsParameterChange (bool newvalue, bool oldvalue) |
| void | CompleteCommitTsInitialization (void) |
| void | CheckPointCommitTs (void) |
| void | ExtendCommitTs (TransactionId newestXact) |
| void | TruncateCommitTs (TransactionId oldestXact) |
| void | SetCommitTsLimit (TransactionId oldestXact, TransactionId newestXact) |
| void | AdvanceOldestCommitTsXid (TransactionId oldestXact) |
| int | committssyncfiletag (const FileTag *ftag, char *path) |
| void | commit_ts_redo (XLogReaderState *record) |
| void | commit_ts_desc (StringInfo buf, XLogReaderState *record) |
| const char * | commit_ts_identify (uint8 info) |
Variables | |
| PGDLLIMPORT bool | track_commit_timestamp |
| #define COMMIT_TS_TRUNCATE 0x10 |
Definition at line 45 of file commit_ts.h.
| #define COMMIT_TS_ZEROPAGE 0x00 |
Definition at line 44 of file commit_ts.h.
| #define SizeOfCommitTsTruncate |
Definition at line 53 of file commit_ts.h.
|
extern |
Definition at line 919 of file commit_ts.c.
References fb(), InvalidTransactionId, LW_EXCLUSIVE, LWLockAcquire(), LWLockRelease(), TransamVariablesData::oldestCommitTsXid, TransactionIdPrecedes(), and TransamVariables.
Referenced by commit_ts_redo(), and vac_truncate_clog().
Definition at line 599 of file commit_ts.c.
Referenced by BootStrapXLOG().
Definition at line 799 of file commit_ts.c.
References CommitTsCtl, and SimpleLruWriteAll().
Referenced by CheckPointGuts().
|
extern |
Definition at line 21 of file committsdesc.c.
References appendStringInfo(), buf, COMMIT_TS_TRUNCATE, COMMIT_TS_ZEROPAGE, fb(), memcpy(), XLogRecGetData, and XLogRecGetInfo.
Definition at line 43 of file committsdesc.c.
References COMMIT_TS_TRUNCATE, COMMIT_TS_ZEROPAGE, and fb().
|
extern |
Definition at line 995 of file commit_ts.c.
References AdvanceOldestCommitTsXid(), Assert, COMMIT_TS_TRUNCATE, COMMIT_TS_ZEROPAGE, CommitTsCtl, elog, fb(), memcpy(), PANIC, pg_atomic_write_u64(), SimpleLruTruncate(), SimpleLruZeroAndWritePage(), XLogRecGetData, XLogRecGetInfo, and XLogRecHasAnyBlockRefs.
Definition at line 645 of file commit_ts.c.
References ActivateCommitTs(), CommitTimestampShared::commitTsActive, commitTsShared, DeactivateCommitTs(), and fb().
Referenced by xlog_redo().
Definition at line 1032 of file commit_ts.c.
References CommitTsCtl, and SlruSyncFileTag().
Definition at line 623 of file commit_ts.c.
References ActivateCommitTs(), DeactivateCommitTs(), and track_commit_timestamp.
Referenced by StartupXLOG().
|
extern |
Definition at line 821 of file commit_ts.c.
References Assert, COMMIT_TS_ZEROPAGE, CommitTimestampShared::commitTsActive, CommitTsCtl, commitTsShared, fb(), FirstNormalTransactionId, InRecovery, LW_EXCLUSIVE, LWLockAcquire(), LWLockRelease(), SimpleLruGetBankLock(), SimpleLruZeroPage(), TransactionIdEquals, TransactionIdToCTsEntry, TransactionIdToCTsPage(), and XLogSimpleInsertInt64().
Referenced by GetNewTransactionId().
|
extern |
Definition at line 369 of file commit_ts.c.
References CommitTimestampShared::commitTsActive, commitTsShared, CommitTimestampShared::dataLastCommit, error_commit_ts_disabled(), fb(), LW_SHARED, LWLockAcquire(), LWLockRelease(), CommitTimestampEntry::nodeid, CommitTimestampEntry::time, and CommitTimestampShared::xidLastCommit.
Referenced by pg_last_committed_xact().
|
extern |
Definition at line 892 of file commit_ts.c.
References Assert, fb(), InvalidTransactionId, LW_EXCLUSIVE, LWLockAcquire(), LWLockRelease(), TransamVariablesData::newestCommitTsXid, TransamVariablesData::oldestCommitTsXid, TransactionIdPrecedes(), and TransamVariables.
Referenced by BootStrapXLOG(), and StartupXLOG().
Definition at line 613 of file commit_ts.c.
References ActivateCommitTs().
Referenced by StartupXLOG().
|
extern |
Definition at line 283 of file commit_ts.c.
References Assert, CommitTimestampShared::commitTsActive, CommitTsCtl, commitTsShared, CommitTimestampShared::dataLastCommit, ereport, errcode(), errmsg, ERROR, error_commit_ts_disabled(), fb(), InvalidReplOriginId, LW_SHARED, LWLockAcquire(), LWLockRelease(), memcpy(), TransamVariablesData::newestCommitTsXid, CommitTimestampEntry::nodeid, TransamVariablesData::oldestCommitTsXid, SimpleLruGetBankLock(), SimpleLruReadPage_ReadOnly(), SizeOfCommitTimestampEntry, CommitTimestampEntry::time, TransactionIdIsNormal, TransactionIdIsValid, TransactionIdPrecedes(), TransactionIdToCTsEntry, TransactionIdToCTsPage(), TransamVariables, and CommitTimestampShared::xidLastCommit.
Referenced by GetTupleTransactionInfo(), pg_xact_commit_timestamp(), pg_xact_commit_timestamp_origin(), and update_most_recent_deletion_info().
|
extern |
Definition at line 150 of file commit_ts.c.
References CommitTimestampShared::commitTsActive, commitTsShared, CommitTimestampShared::dataLastCommit, fb(), i, j, LW_EXCLUSIVE, LWLockAcquire(), LWLockRelease(), TransamVariablesData::newestCommitTsXid, CommitTimestampEntry::nodeid, SetXidCommitTsInPage(), CommitTimestampEntry::time, TransactionIdPrecedes(), TransactionIdToCTsPage(), TransamVariables, and CommitTimestampShared::xidLastCommit.
Referenced by RecordTransactionCommit(), RecordTransactionCommitPrepared(), and xact_redo_commit().
|
extern |
Definition at line 866 of file commit_ts.c.
References CommitTsCtl, fb(), SimpleLruTruncate(), SlruScanDirCbReportPresence(), SlruScanDirectory(), TransactionIdToCTsPage(), and WriteTruncateXlogRec().
Referenced by vac_truncate_clog().
|
extern |
Definition at line 121 of file commit_ts.c.
Referenced by CheckSubDeadTupleRetention(), CompleteCommitTsInitialization(), FindDeletedTupleInLocalRel(), GetTupleTransactionInfo(), InitControlFile(), and XLogReportParameters().