PostgreSQL Source Code
git master
|
Go to the source code of this file.
Macros | |
#define | NUM_SUBTRANS_BUFFERS 32 |
Functions | |
void | SubTransSetParent (TransactionId xid, TransactionId parent) |
TransactionId | SubTransGetParent (TransactionId xid) |
TransactionId | SubTransGetTopmostTransaction (TransactionId xid) |
Size | SUBTRANSShmemSize (void) |
void | SUBTRANSShmemInit (void) |
void | BootStrapSUBTRANS (void) |
void | StartupSUBTRANS (TransactionId oldestActiveXID) |
void | CheckPointSUBTRANS (void) |
void | ExtendSUBTRANS (TransactionId newestXact) |
void | TruncateSUBTRANS (TransactionId oldestXact) |
#define NUM_SUBTRANS_BUFFERS 32 |
Definition at line 15 of file subtrans.h.
void BootStrapSUBTRANS | ( | void | ) |
Definition at line 211 of file subtrans.c.
References Assert(), LW_EXCLUSIVE, LWLockAcquire(), LWLockRelease(), SimpleLruWritePage(), SubTransCtl, and ZeroSUBTRANSPage().
Referenced by BootStrapXLOG().
void CheckPointSUBTRANS | ( | void | ) |
Definition at line 284 of file subtrans.c.
References SimpleLruWriteAll(), and SubTransCtl.
Referenced by CheckPointGuts().
void ExtendSUBTRANS | ( | TransactionId | newestXact | ) |
Definition at line 308 of file subtrans.c.
References FirstNormalTransactionId, LW_EXCLUSIVE, LWLockAcquire(), LWLockRelease(), TransactionIdEquals, TransactionIdToEntry, TransactionIdToPage, and ZeroSUBTRANSPage().
Referenced by GetNewTransactionId(), ProcArrayApplyRecoveryInfo(), and RecordKnownAssignedTransactionIds().
void StartupSUBTRANS | ( | TransactionId | oldestActiveXID | ) |
Definition at line 249 of file subtrans.c.
References LW_EXCLUSIVE, LWLockAcquire(), LWLockRelease(), MaxTransactionId, VariableCacheData::nextXid, ShmemVariableCache, TransactionIdToPage, XidFromFullTransactionId, and ZeroSUBTRANSPage().
Referenced by StartupXLOG().
TransactionId SubTransGetParent | ( | TransactionId | xid | ) |
Definition at line 109 of file subtrans.c.
References Assert(), InvalidTransactionId, LWLockRelease(), SimpleLruReadPage_ReadOnly(), SubTransCtl, TransactionIdFollowsOrEquals(), TransactionIdIsNormal, TransactionIdToEntry, TransactionIdToPage, and TransactionXmin.
Referenced by SubTransGetTopmostTransaction(), TransactionIdDidAbort(), and TransactionIdDidCommit().
TransactionId SubTransGetTopmostTransaction | ( | TransactionId | xid | ) |
Definition at line 150 of file subtrans.c.
References Assert(), elog(), ERROR, SubTransGetParent(), TransactionIdFollowsOrEquals(), TransactionIdIsValid, TransactionIdPrecedes(), and TransactionXmin.
Referenced by ConditionalXactLockTableWait(), HeapCheckForSerializableConflictOut(), TransactionIdIsInProgress(), XactLockTableWait(), and XidInMVCCSnapshot().
void SubTransSetParent | ( | TransactionId | xid, |
TransactionId | parent | ||
) |
Definition at line 74 of file subtrans.c.
References Assert(), if(), InvalidTransactionId, LW_EXCLUSIVE, LWLockAcquire(), LWLockRelease(), SimpleLruReadPage(), SubTransCtl, TransactionIdFollows(), TransactionIdIsValid, TransactionIdToEntry, and TransactionIdToPage.
Referenced by AssignTransactionId(), ProcArrayApplyXidAssignment(), and ProcessTwoPhaseBuffer().
void SUBTRANSShmemInit | ( | void | ) |
Definition at line 191 of file subtrans.c.
References LWTRANCHE_SUBTRANS_BUFFER, NUM_SUBTRANS_BUFFERS, SimpleLruInit(), SlruPagePrecedesUnitTests, SUBTRANS_XACTS_PER_PAGE, SubTransCtl, SubTransPagePrecedes(), and SYNC_HANDLER_NONE.
Referenced by CreateSharedMemoryAndSemaphores().
Size SUBTRANSShmemSize | ( | void | ) |
Definition at line 185 of file subtrans.c.
References NUM_SUBTRANS_BUFFERS, and SimpleLruShmemSize().
Referenced by CalculateShmemSize().
void TruncateSUBTRANS | ( | TransactionId | oldestXact | ) |
Definition at line 338 of file subtrans.c.
References SimpleLruTruncate(), SubTransCtl, TransactionIdRetreat, and TransactionIdToPage.
Referenced by CreateCheckPoint(), and CreateRestartPoint().