PostgreSQL Source Code
git master
|
#include "postgres.h"
#include "access/clog.h"
#include "access/subtrans.h"
#include "access/transam.h"
#include "utils/snapmgr.h"
Go to the source code of this file.
Functions | |
static XidStatus | TransactionLogFetch (TransactionId transactionId) |
bool | TransactionIdDidCommit (TransactionId transactionId) |
bool | TransactionIdDidAbort (TransactionId transactionId) |
void | TransactionIdCommitTree (TransactionId xid, int nxids, TransactionId *xids) |
void | TransactionIdAsyncCommitTree (TransactionId xid, int nxids, TransactionId *xids, XLogRecPtr lsn) |
void | TransactionIdAbortTree (TransactionId xid, int nxids, TransactionId *xids) |
bool | TransactionIdPrecedes (TransactionId id1, TransactionId id2) |
bool | TransactionIdPrecedesOrEquals (TransactionId id1, TransactionId id2) |
bool | TransactionIdFollows (TransactionId id1, TransactionId id2) |
bool | TransactionIdFollowsOrEquals (TransactionId id1, TransactionId id2) |
TransactionId | TransactionIdLatest (TransactionId mainxid, int nxids, const TransactionId *xids) |
XLogRecPtr | TransactionIdGetCommitLSN (TransactionId xid) |
Variables | |
static TransactionId | cachedFetchXid = InvalidTransactionId |
static XidStatus | cachedFetchXidStatus |
static XLogRecPtr | cachedCommitLSN |
void TransactionIdAbortTree | ( | TransactionId | xid, |
int | nxids, | ||
TransactionId * | xids | ||
) |
Definition at line 263 of file transam.c.
References InvalidXLogRecPtr, TRANSACTION_STATUS_ABORTED, and TransactionIdSetTreeStatus().
Referenced by RecordTransactionAbort(), RecordTransactionAbortPrepared(), and xact_redo_abort().
void TransactionIdAsyncCommitTree | ( | TransactionId | xid, |
int | nxids, | ||
TransactionId * | xids, | ||
XLogRecPtr | lsn | ||
) |
Definition at line 245 of file transam.c.
References TRANSACTION_STATUS_COMMITTED, and TransactionIdSetTreeStatus().
Referenced by RecordTransactionCommit(), and xact_redo_commit().
void TransactionIdCommitTree | ( | TransactionId | xid, |
int | nxids, | ||
TransactionId * | xids | ||
) |
Definition at line 233 of file transam.c.
References InvalidXLogRecPtr, TRANSACTION_STATUS_COMMITTED, and TransactionIdSetTreeStatus().
Referenced by RecordTransactionCommit(), RecordTransactionCommitPrepared(), and xact_redo_commit().
bool TransactionIdDidAbort | ( | TransactionId | transactionId | ) |
Definition at line 181 of file transam.c.
References elog(), SubTransGetParent(), TRANSACTION_STATUS_ABORTED, TRANSACTION_STATUS_SUB_COMMITTED, TransactionIdIsValid, TransactionIdPrecedes(), TransactionLogFetch(), TransactionXmin, and WARNING.
Referenced by DoesMultiXactIdConflict(), heap_lock_updated_tuple_rec(), heap_update(), ProcArrayApplyRecoveryInfo(), ProcessTwoPhaseBuffer(), StandbyAcquireAccessExclusiveLock(), test_lockmode_for_conflict(), and TransactionIdIsInProgress().
bool TransactionIdDidCommit | ( | TransactionId | transactionId | ) |
Definition at line 125 of file transam.c.
References elog(), SubTransGetParent(), TRANSACTION_STATUS_COMMITTED, TRANSACTION_STATUS_SUB_COMMITTED, TransactionIdIsValid, TransactionIdPrecedes(), TransactionLogFetch(), TransactionXmin, and WARNING.
Referenced by asyncQueueProcessPageEntries(), check_safe_enum_use(), compute_new_xmax_infomask(), FreezeMultiXactId(), HandleConcurrentAbort(), heap_prepare_freeze_tuple(), HeapTupleHeaderAdvanceLatestRemovedXid(), HeapTupleHeaderIsOnlyLocked(), HeapTupleSatisfiesDirty(), HeapTupleSatisfiesHistoricMVCC(), HeapTupleSatisfiesMVCC(), HeapTupleSatisfiesSelf(), HeapTupleSatisfiesToast(), HeapTupleSatisfiesUpdate(), HeapTupleSatisfiesVacuumHorizon(), MultiXactIdExpand(), pg_xact_status(), ProcArrayApplyRecoveryInfo(), ProcessTwoPhaseBuffer(), RecordTransactionAbort(), RecordTransactionAbortPrepared(), SetupCheckXidLive(), StandbyAcquireAccessExclusiveLock(), test_lockmode_for_conflict(), UpdateLogicalMappings(), and UpdateXmaxHintBits().
bool TransactionIdFollows | ( | TransactionId | id1, |
TransactionId | id2 | ||
) |
Definition at line 307 of file transam.c.
References TransactionIdIsNormal.
Referenced by find_inheritance_children_extended(), GetConflictingVirtualXIDs(), GetSerializableTransactionSnapshotInt(), heap_page_is_all_visible(), HeapTupleHeaderAdvanceLatestRemovedXid(), lazy_scan_prune(), MaintainOldSnapshotTimeMapping(), predicatelock_twophase_recover(), ProcessTwoPhaseBuffer(), RecordKnownAssignedTransactionIds(), SerialAdd(), SerialGetMinConflictCommitSeqNo(), SerialSetActiveSerXmin(), SnapBuildWaitSnapshot(), SubTransSetParent(), TransactionIdLimitedForOldSnapshots(), and xmin_cmp().
bool TransactionIdFollowsOrEquals | ( | TransactionId | id1, |
TransactionId | id2 | ||
) |
Definition at line 322 of file transam.c.
References TransactionIdIsNormal.
Referenced by AdvanceNextFullTransactionIdPastXid(), ForceTransactionIdLimitUpdate(), GetNewTransactionId(), HeapCheckForSerializableConflictOut(), HeapTupleSatisfiesHistoricMVCC(), KnownAssignedXidsAdd(), KnownAssignedXidsGetAndSetXmin(), KnownAssignedXidsRemovePreceding(), ProcessTwoPhaseBuffer(), SetTransactionIdLimit(), SnapBuildCommitTxn(), SubTransGetParent(), SubTransGetTopmostTransaction(), TransactionIdLimitedForOldSnapshots(), vacuumLeafPage(), XidInMVCCSnapshot(), and XidIsConcurrent().
XLogRecPtr TransactionIdGetCommitLSN | ( | TransactionId | xid | ) |
Definition at line 375 of file transam.c.
References cachedCommitLSN, cachedFetchXid, InvalidXLogRecPtr, TransactionIdEquals, TransactionIdGetStatus(), and TransactionIdIsNormal.
Referenced by SetHintBits().
TransactionId TransactionIdLatest | ( | TransactionId | mainxid, |
int | nxids, | ||
const TransactionId * | xids | ||
) |
Definition at line 338 of file transam.c.
References TransactionIdPrecedes().
Referenced by FinishPreparedTransaction(), ProcArrayApplyXidAssignment(), RecordTransactionAbort(), RecordTransactionCommit(), xact_redo_abort(), and xact_redo_commit().
bool TransactionIdPrecedes | ( | TransactionId | id1, |
TransactionId | id2 | ||
) |
Definition at line 273 of file transam.c.
References TransactionIdIsNormal.
Referenced by AdvanceOldestClogXid(), AdvanceOldestCommitTsXid(), bt_check_every_level(), check_exclusion_or_unique_constraint(), check_tuple_visibility(), CheckTargetForConflictsIn(), CLOGPagePrecedes(), collect_corrupt_items(), CommitTsPagePrecedes(), copy_table_data(), do_start_worker(), ExpireOldKnownAssignedTransactionIds(), ExportSnapshot(), FreezeMultiXactId(), get_relation_info(), GetOldestActiveTransactionId(), GetOldestSafeDecodingTransactionId(), GetRunningTransactionData(), heap_abort_speculative(), heap_page_is_all_visible(), heap_page_prune_opt(), heap_prepare_freeze_tuple(), heap_prune_record_prunable(), heap_prune_satisfies_vacuum(), heap_tuple_would_freeze(), HeapCheckForSerializableConflictOut(), HeapTupleHeaderAdvanceLatestRemovedXid(), HeapTupleSatisfiesHistoricMVCC(), HeapTupleSatisfiesVacuum(), KnownAssignedXidsAdd(), KnownAssignedXidsGetAndSetXmin(), KnownAssignedXidsSearch(), lazy_scan_prune(), logical_rewrite_heap_tuple(), MaintainLatestCompletedXid(), MaintainLatestCompletedXidRecovery(), MaintainOldSnapshotTimeMapping(), multixact_redo(), PhysicalReplicationSlotNewXmin(), PrescanPreparedTransactions(), ProcArrayApplyRecoveryInfo(), ProcArrayApplyXidAssignment(), ProcessStandbyHSFeedbackMessage(), RecordKnownAssignedTransactionIds(), relation_needs_vacanalyze(), ReorderBufferAbortOld(), ReplicationSlotsComputeRequiredXmin(), rewrite_heap_tuple(), SerialGetMinConflictCommitSeqNo(), SerialPagePrecedesLogically(), SerialSetActiveSerXmin(), SetCommitTsLimit(), SetNewSxactGlobalXmin(), SnapBuildCommitTxn(), SnapBuildProcessChange(), SnapBuildRestore(), SnapshotResetXmin(), StandbyReleaseOldLocks(), SubTransGetTopmostTransaction(), SubTransPagePrecedes(), TransactionIdDidAbort(), TransactionIdDidCommit(), TransactionIdGetCommitTsData(), TransactionIdInRecentPast(), TransactionIdIsActive(), TransactionIdIsCurrentTransactionId(), TransactionIdIsInProgress(), TransactionIdLatest(), TransactionIdLimitedForOldSnapshots(), TransactionIdOlder(), TransactionTreeSetCommitTsData(), tuple_all_visible(), vac_truncate_clog(), vac_update_datfrozenxid(), vac_update_relstats(), vacuum_set_xid_limits(), vacuum_xid_failsafe_check(), vacuumRedirectAndPlaceholder(), XidInMVCCSnapshot(), XidIsConcurrent(), xidLogicalComparator(), xlog_redo(), and xmin_cmp().
bool TransactionIdPrecedesOrEquals | ( | TransactionId | id1, |
TransactionId | id2 | ||
) |
Definition at line 292 of file transam.c.
References TransactionIdIsNormal.
Referenced by ClearOldPredicateLocks(), ComputeXidHorizons(), GetCurrentVirtualXIDs(), GetSnapshotData(), GetSnapshotDataReuse(), heap_prepare_freeze_tuple(), heap_vacuum_rel(), KnownAssignedXidsAdd(), LogicalIncreaseXminForSlot(), ProcArrayInstallImportedXmin(), ProcArrayInstallRestoredXmin(), SetOldSnapshotThresholdTimestamp(), SnapBuildFindSnapshot(), SnapBuildInitialSnapshot(), TransactionIdInRecentPast(), TransactionIdIsInProgress(), and vacuum_set_xid_limits().
|
static |
Definition at line 52 of file transam.c.
References BootstrapTransactionId, cachedCommitLSN, cachedFetchXid, cachedFetchXidStatus, FrozenTransactionId, TRANSACTION_STATUS_ABORTED, TRANSACTION_STATUS_COMMITTED, TRANSACTION_STATUS_IN_PROGRESS, TRANSACTION_STATUS_SUB_COMMITTED, TransactionIdEquals, TransactionIdGetStatus(), and TransactionIdIsNormal.
Referenced by TransactionIdDidAbort(), and TransactionIdDidCommit().
|
static |
Definition at line 35 of file transam.c.
Referenced by TransactionIdGetCommitLSN(), and TransactionLogFetch().
|
static |
Definition at line 33 of file transam.c.
Referenced by TransactionIdGetCommitLSN(), and TransactionLogFetch().
|
static |
Definition at line 34 of file transam.c.
Referenced by TransactionLogFetch().