|
PostgreSQL Source Code git master
|
#include "postgres.h"#include "access/slru.h"#include "access/subtrans.h"#include "access/transam.h"#include "miscadmin.h"#include "pg_trace.h"#include "utils/guc_hooks.h"#include "utils/snapmgr.h"
Go to the source code of this file.
Macros | |
| #define | SUBTRANS_XACTS_PER_PAGE (BLCKSZ / sizeof(TransactionId)) |
| #define | TransactionIdToEntry(xid) ((xid) % (TransactionId) SUBTRANS_XACTS_PER_PAGE) |
| #define | SubTransCtl (&SubTransCtlData) |
Variables | |
| static SlruCtlData | SubTransCtlData |
| #define SUBTRANS_XACTS_PER_PAGE (BLCKSZ / sizeof(TransactionId)) |
Definition at line 54 of file subtrans.c.
| #define SubTransCtl (&SubTransCtlData) |
Definition at line 74 of file subtrans.c.
| #define TransactionIdToEntry | ( | xid | ) | ((xid) % (TransactionId) SUBTRANS_XACTS_PER_PAGE) |
Definition at line 66 of file subtrans.c.
Definition at line 271 of file subtrans.c.
References SimpleLruZeroAndWritePage(), and SubTransCtl.
Referenced by BootStrapXLOG().
Definition at line 255 of file subtrans.c.
References check_slru_buffers(), and newval.
Definition at line 331 of file subtrans.c.
References fb(), SimpleLruWriteAll(), and SubTransCtl.
Referenced by CheckPointGuts().
| void ExtendSUBTRANS | ( | TransactionId | newestXact | ) |
Definition at line 355 of file subtrans.c.
References fb(), FirstNormalTransactionId, LW_EXCLUSIVE, LWLockAcquire(), LWLockRelease(), SimpleLruGetBankLock(), SimpleLruZeroPage(), SubTransCtl, TransactionIdEquals, TransactionIdToEntry, and TransactionIdToPage().
Referenced by GetNewTransactionId(), ProcArrayApplyRecoveryInfo(), and RecordKnownAssignedTransactionIds().
| void StartupSUBTRANS | ( | TransactionId | oldestActiveXID | ) |
Definition at line 285 of file subtrans.c.
References fb(), LW_EXCLUSIVE, LWLockAcquire(), LWLockRelease(), MaxTransactionId, TransamVariablesData::nextXid, SimpleLruGetBankLock(), SimpleLruZeroPage(), SubTransCtl, TransactionIdToPage(), TransamVariables, and XidFromFullTransactionId.
Referenced by StartupXLOG().
Definition at line 426 of file subtrans.c.
References errdetail(), and fb().
Referenced by SUBTRANSShmemInit().
| TransactionId SubTransGetParent | ( | TransactionId | xid | ) |
Definition at line 122 of file subtrans.c.
References Assert, fb(), InvalidTransactionId, LWLockRelease(), SimpleLruGetBankLock(), SimpleLruReadPage_ReadOnly(), SubTransCtl, TransactionIdFollowsOrEquals(), TransactionIdIsNormal, TransactionIdToEntry, TransactionIdToPage(), and TransactionXmin.
Referenced by SubTransGetTopmostTransaction(), TransactionIdDidAbort(), and TransactionIdDidCommit().
| TransactionId SubTransGetTopmostTransaction | ( | TransactionId | xid | ) |
Definition at line 163 of file subtrans.c.
References Assert, elog, ERROR, fb(), SubTransGetParent(), TransactionIdFollowsOrEquals(), TransactionIdIsValid, TransactionIdPrecedes(), and TransactionXmin.
Referenced by ConditionalXactLockTableWait(), HeapCheckForSerializableConflictOut(), TransactionIdIsInProgress(), XactLockTableWait(), and XidInMVCCSnapshot().
Definition at line 411 of file subtrans.c.
References fb(), FirstNormalTransactionId, SUBTRANS_XACTS_PER_PAGE, and TransactionIdPrecedes().
Referenced by SUBTRANSShmemInit().
| void SubTransSetParent | ( | TransactionId | xid, |
| TransactionId | parent | ||
| ) |
Definition at line 85 of file subtrans.c.
References Assert, fb(), InvalidTransactionId, LW_EXCLUSIVE, LWLockAcquire(), LWLockRelease(), SimpleLruGetBankLock(), SimpleLruReadPage(), SubTransCtl, TransactionIdFollows(), TransactionIdIsValid, TransactionIdToEntry, and TransactionIdToPage().
Referenced by AssignTransactionId(), ProcArrayApplyXidAssignment(), and ProcessTwoPhaseBuffer().
Definition at line 201 of file subtrans.c.
References Max, Min, SimpleLruAutotuneBuffers(), SLRU_MAX_ALLOWED_BUFFERS, and subtransaction_buffers.
Referenced by SUBTRANSShmemInit(), and SUBTRANSShmemSize().
Definition at line 220 of file subtrans.c.
References Assert, buf, fb(), PGC_POSTMASTER, PGC_S_DYNAMIC_DEFAULT, PGC_S_OVERRIDE, SetConfigOption(), SimpleLruInit(), SlruPagePrecedesUnitTests, snprintf, subtrans_errdetail_for_io_error(), SUBTRANS_XACTS_PER_PAGE, subtransaction_buffers, SubTransCtl, SubTransPagePrecedes(), SUBTRANSShmemBuffers(), and SYNC_HANDLER_NONE.
Referenced by CreateOrAttachShmemStructs().
Definition at line 214 of file subtrans.c.
References SimpleLruShmemSize(), and SUBTRANSShmemBuffers().
Referenced by CalculateShmemSize().
|
inlinestatic |
Definition at line 61 of file subtrans.c.
References SUBTRANS_XACTS_PER_PAGE.
Referenced by ExtendSUBTRANS(), StartupSUBTRANS(), SubTransGetParent(), SubTransSetParent(), and TruncateSUBTRANS().
| void TruncateSUBTRANS | ( | TransactionId | oldestXact | ) |
Definition at line 387 of file subtrans.c.
References fb(), SimpleLruTruncate(), SubTransCtl, TransactionIdRetreat, and TransactionIdToPage().
Referenced by CreateCheckPoint(), and CreateRestartPoint().
|
static |
Definition at line 72 of file subtrans.c.