summaryrefslogtreecommitdiff
path: root/src/backend/access/transam/varsup.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/access/transam/varsup.c')
-rw-r--r--src/backend/access/transam/varsup.c104
1 files changed, 52 insertions, 52 deletions
diff --git a/src/backend/access/transam/varsup.c b/src/backend/access/transam/varsup.c
index 302f9296240..77b18b8f281 100644
--- a/src/backend/access/transam/varsup.c
+++ b/src/backend/access/transam/varsup.c
@@ -30,17 +30,17 @@
/* Number of OIDs to prefetch (preallocate) per XLOG write */
#define VAR_OID_PREFETCH 8192
-/* pointer to "variable cache" in shared memory (set up by shmem.c) */
-VariableCache ShmemVariableCache = NULL;
+/* pointer to variables struct in shared memory */
+TransamVariablesData *TransamVariables = NULL;
/*
- * Initialization of shared memory for ShmemVariableCache.
+ * Initialization of shared memory for TransamVariables.
*/
Size
VarsupShmemSize(void)
{
- return sizeof(VariableCacheData);
+ return sizeof(TransamVariablesData);
}
void
@@ -49,13 +49,13 @@ VarsupShmemInit(void)
bool found;
/* Initialize our shared state struct */
- ShmemVariableCache = ShmemInitStruct("ShmemVariableCache",
- sizeof(VariableCacheData),
- &found);
+ TransamVariables = ShmemInitStruct("TransamVariables",
+ sizeof(TransamVariablesData),
+ &found);
if (!IsUnderPostmaster)
{
Assert(!found);
- memset(ShmemVariableCache, 0, sizeof(VariableCacheData));
+ memset(TransamVariables, 0, sizeof(TransamVariablesData));
}
else
Assert(found);
@@ -104,7 +104,7 @@ GetNewTransactionId(bool isSubXact)
LWLockAcquire(XidGenLock, LW_EXCLUSIVE);
- full_xid = ShmemVariableCache->nextXid;
+ full_xid = TransamVariables->nextXid;
xid = XidFromFullTransactionId(full_xid);
/*----------
@@ -120,7 +120,7 @@ GetNewTransactionId(bool isSubXact)
* Note that this coding also appears in GetNewMultiXactId.
*----------
*/
- if (TransactionIdFollowsOrEquals(xid, ShmemVariableCache->xidVacLimit))
+ if (TransactionIdFollowsOrEquals(xid, TransamVariables->xidVacLimit))
{
/*
* For safety's sake, we release XidGenLock while sending signals,
@@ -129,10 +129,10 @@ GetNewTransactionId(bool isSubXact)
* possibility of deadlock while doing get_database_name(). First,
* copy all the shared values we'll need in this path.
*/
- TransactionId xidWarnLimit = ShmemVariableCache->xidWarnLimit;
- TransactionId xidStopLimit = ShmemVariableCache->xidStopLimit;
- TransactionId xidWrapLimit = ShmemVariableCache->xidWrapLimit;
- Oid oldest_datoid = ShmemVariableCache->oldestXidDB;
+ TransactionId xidWarnLimit = TransamVariables->xidWarnLimit;
+ TransactionId xidStopLimit = TransamVariables->xidStopLimit;
+ TransactionId xidWrapLimit = TransamVariables->xidWrapLimit;
+ Oid oldest_datoid = TransamVariables->oldestXidDB;
LWLockRelease(XidGenLock);
@@ -188,7 +188,7 @@ GetNewTransactionId(bool isSubXact)
/* Re-acquire lock and start over */
LWLockAcquire(XidGenLock, LW_EXCLUSIVE);
- full_xid = ShmemVariableCache->nextXid;
+ full_xid = TransamVariables->nextXid;
xid = XidFromFullTransactionId(full_xid);
}
@@ -211,7 +211,7 @@ GetNewTransactionId(bool isSubXact)
* want the next incoming transaction to try it again. We cannot assign
* more XIDs until there is CLOG space for them.
*/
- FullTransactionIdAdvance(&ShmemVariableCache->nextXid);
+ FullTransactionIdAdvance(&TransamVariables->nextXid);
/*
* We must store the new XID into the shared ProcArray before releasing
@@ -290,7 +290,7 @@ ReadNextFullTransactionId(void)
FullTransactionId fullXid;
LWLockAcquire(XidGenLock, LW_SHARED);
- fullXid = ShmemVariableCache->nextXid;
+ fullXid = TransamVariables->nextXid;
LWLockRelease(XidGenLock);
return fullXid;
@@ -315,7 +315,7 @@ AdvanceNextFullTransactionIdPastXid(TransactionId xid)
Assert(AmStartupProcess() || !IsUnderPostmaster);
/* Fast return if this isn't an xid high enough to move the needle. */
- next_xid = XidFromFullTransactionId(ShmemVariableCache->nextXid);
+ next_xid = XidFromFullTransactionId(TransamVariables->nextXid);
if (!TransactionIdFollowsOrEquals(xid, next_xid))
return;
@@ -328,7 +328,7 @@ AdvanceNextFullTransactionIdPastXid(TransactionId xid)
* point in the WAL stream.
*/
TransactionIdAdvance(xid);
- epoch = EpochFromFullTransactionId(ShmemVariableCache->nextXid);
+ epoch = EpochFromFullTransactionId(TransamVariables->nextXid);
if (unlikely(xid < next_xid))
++epoch;
newNextFullXid = FullTransactionIdFromEpochAndXid(epoch, xid);
@@ -338,7 +338,7 @@ AdvanceNextFullTransactionIdPastXid(TransactionId xid)
* concurrent readers.
*/
LWLockAcquire(XidGenLock, LW_EXCLUSIVE);
- ShmemVariableCache->nextXid = newNextFullXid;
+ TransamVariables->nextXid = newNextFullXid;
LWLockRelease(XidGenLock);
}
@@ -355,10 +355,10 @@ void
AdvanceOldestClogXid(TransactionId oldest_datfrozenxid)
{
LWLockAcquire(XactTruncationLock, LW_EXCLUSIVE);
- if (TransactionIdPrecedes(ShmemVariableCache->oldestClogXid,
+ if (TransactionIdPrecedes(TransamVariables->oldestClogXid,
oldest_datfrozenxid))
{
- ShmemVariableCache->oldestClogXid = oldest_datfrozenxid;
+ TransamVariables->oldestClogXid = oldest_datfrozenxid;
}
LWLockRelease(XactTruncationLock);
}
@@ -441,13 +441,13 @@ SetTransactionIdLimit(TransactionId oldest_datfrozenxid, Oid oldest_datoid)
/* Grab lock for just long enough to set the new limit values */
LWLockAcquire(XidGenLock, LW_EXCLUSIVE);
- ShmemVariableCache->oldestXid = oldest_datfrozenxid;
- ShmemVariableCache->xidVacLimit = xidVacLimit;
- ShmemVariableCache->xidWarnLimit = xidWarnLimit;
- ShmemVariableCache->xidStopLimit = xidStopLimit;
- ShmemVariableCache->xidWrapLimit = xidWrapLimit;
- ShmemVariableCache->oldestXidDB = oldest_datoid;
- curXid = XidFromFullTransactionId(ShmemVariableCache->nextXid);
+ TransamVariables->oldestXid = oldest_datfrozenxid;
+ TransamVariables->xidVacLimit = xidVacLimit;
+ TransamVariables->xidWarnLimit = xidWarnLimit;
+ TransamVariables->xidStopLimit = xidStopLimit;
+ TransamVariables->xidWrapLimit = xidWrapLimit;
+ TransamVariables->oldestXidDB = oldest_datoid;
+ curXid = XidFromFullTransactionId(TransamVariables->nextXid);
LWLockRelease(XidGenLock);
/* Log the info */
@@ -523,10 +523,10 @@ ForceTransactionIdLimitUpdate(void)
/* Locking is probably not really necessary, but let's be careful */
LWLockAcquire(XidGenLock, LW_SHARED);
- nextXid = XidFromFullTransactionId(ShmemVariableCache->nextXid);
- xidVacLimit = ShmemVariableCache->xidVacLimit;
- oldestXid = ShmemVariableCache->oldestXid;
- oldestXidDB = ShmemVariableCache->oldestXidDB;
+ nextXid = XidFromFullTransactionId(TransamVariables->nextXid);
+ xidVacLimit = TransamVariables->xidVacLimit;
+ oldestXid = TransamVariables->oldestXid;
+ oldestXidDB = TransamVariables->oldestXidDB;
LWLockRelease(XidGenLock);
if (!TransactionIdIsNormal(oldestXid))
@@ -576,37 +576,37 @@ GetNewObjectId(void)
* available for automatic assignment during initdb, while ensuring they
* will never conflict with user-assigned OIDs.
*/
- if (ShmemVariableCache->nextOid < ((Oid) FirstNormalObjectId))
+ if (TransamVariables->nextOid < ((Oid) FirstNormalObjectId))
{
if (IsPostmasterEnvironment)
{
/* wraparound, or first post-initdb assignment, in normal mode */
- ShmemVariableCache->nextOid = FirstNormalObjectId;
- ShmemVariableCache->oidCount = 0;
+ TransamVariables->nextOid = FirstNormalObjectId;
+ TransamVariables->oidCount = 0;
}
else
{
/* we may be bootstrapping, so don't enforce the full range */
- if (ShmemVariableCache->nextOid < ((Oid) FirstGenbkiObjectId))
+ if (TransamVariables->nextOid < ((Oid) FirstGenbkiObjectId))
{
/* wraparound in standalone mode (unlikely but possible) */
- ShmemVariableCache->nextOid = FirstNormalObjectId;
- ShmemVariableCache->oidCount = 0;
+ TransamVariables->nextOid = FirstNormalObjectId;
+ TransamVariables->oidCount = 0;
}
}
}
/* If we run out of logged for use oids then we must log more */
- if (ShmemVariableCache->oidCount == 0)
+ if (TransamVariables->oidCount == 0)
{
- XLogPutNextOid(ShmemVariableCache->nextOid + VAR_OID_PREFETCH);
- ShmemVariableCache->oidCount = VAR_OID_PREFETCH;
+ XLogPutNextOid(TransamVariables->nextOid + VAR_OID_PREFETCH);
+ TransamVariables->oidCount = VAR_OID_PREFETCH;
}
- result = ShmemVariableCache->nextOid;
+ result = TransamVariables->nextOid;
- (ShmemVariableCache->nextOid)++;
- (ShmemVariableCache->oidCount)--;
+ (TransamVariables->nextOid)++;
+ (TransamVariables->oidCount)--;
LWLockRelease(OidGenLock);
@@ -629,12 +629,12 @@ SetNextObjectId(Oid nextOid)
/* Taking the lock is, therefore, just pro forma; but do it anyway */
LWLockAcquire(OidGenLock, LW_EXCLUSIVE);
- if (ShmemVariableCache->nextOid > nextOid)
+ if (TransamVariables->nextOid > nextOid)
elog(ERROR, "too late to advance OID counter to %u, it is now %u",
- nextOid, ShmemVariableCache->nextOid);
+ nextOid, TransamVariables->nextOid);
- ShmemVariableCache->nextOid = nextOid;
- ShmemVariableCache->oidCount = 0;
+ TransamVariables->nextOid = nextOid;
+ TransamVariables->oidCount = 0;
LWLockRelease(OidGenLock);
}
@@ -661,7 +661,7 @@ StopGeneratingPinnedObjectIds(void)
* Assert that xid is between [oldestXid, nextXid], which is the range we
* expect XIDs coming from tables etc to be in.
*
- * As ShmemVariableCache->oldestXid could change just after this call without
+ * As TransamVariables->oldestXid could change just after this call without
* further precautions, and as a wrapped-around xid could again fall within
* the valid range, this assertion can only detect if something is definitely
* wrong, but not establish correctness.
@@ -696,8 +696,8 @@ AssertTransactionIdInAllowableRange(TransactionId xid)
* before we see the updated nextXid value.
*/
pg_memory_barrier();
- oldest_xid = ShmemVariableCache->oldestXid;
- next_xid = XidFromFullTransactionId(ShmemVariableCache->nextXid);
+ oldest_xid = TransamVariables->oldestXid;
+ next_xid = XidFromFullTransactionId(TransamVariables->nextXid);
Assert(TransactionIdFollowsOrEquals(xid, oldest_xid) ||
TransactionIdPrecedesOrEquals(xid, next_xid));