mirror of
https://github.com/postgres/postgres.git
synced 2025-07-26 01:22:12 +03:00
Remove long-unused TransactionIdIsActive()
TransactionIdIsActive() has not been used since bb38fb0d43
, in 2014. There
are no known uses in extensions either and it's hard to see valid uses for
it. Therefore remove TransactionIdIsActive().
Discussion: https://postgr.es/m/odgftbtwp5oq7cxjgf4kjkmyq7ypoftmqy7eqa7w3awnouzot6@hrwnl5tdqrgu
This commit is contained in:
@ -1622,58 +1622,6 @@ TransactionIdIsInProgress(TransactionId xid)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* TransactionIdIsActive -- is xid the top-level XID of an active backend?
|
|
||||||
*
|
|
||||||
* This differs from TransactionIdIsInProgress in that it ignores prepared
|
|
||||||
* transactions, as well as transactions running on the primary if we're in
|
|
||||||
* hot standby. Also, we ignore subtransactions since that's not needed
|
|
||||||
* for current uses.
|
|
||||||
*/
|
|
||||||
bool
|
|
||||||
TransactionIdIsActive(TransactionId xid)
|
|
||||||
{
|
|
||||||
bool result = false;
|
|
||||||
ProcArrayStruct *arrayP = procArray;
|
|
||||||
TransactionId *other_xids = ProcGlobal->xids;
|
|
||||||
int i;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Don't bother checking a transaction older than RecentXmin; it could not
|
|
||||||
* possibly still be running.
|
|
||||||
*/
|
|
||||||
if (TransactionIdPrecedes(xid, RecentXmin))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
LWLockAcquire(ProcArrayLock, LW_SHARED);
|
|
||||||
|
|
||||||
for (i = 0; i < arrayP->numProcs; i++)
|
|
||||||
{
|
|
||||||
int pgprocno = arrayP->pgprocnos[i];
|
|
||||||
PGPROC *proc = &allProcs[pgprocno];
|
|
||||||
TransactionId pxid;
|
|
||||||
|
|
||||||
/* Fetch xid just once - see GetNewTransactionId */
|
|
||||||
pxid = UINT32_ACCESS_ONCE(other_xids[i]);
|
|
||||||
|
|
||||||
if (!TransactionIdIsValid(pxid))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if (proc->pid == 0)
|
|
||||||
continue; /* ignore prepared transactions */
|
|
||||||
|
|
||||||
if (TransactionIdEquals(pxid, xid))
|
|
||||||
{
|
|
||||||
result = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
LWLockRelease(ProcArrayLock);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Determine XID horizons.
|
* Determine XID horizons.
|
||||||
|
@ -53,7 +53,6 @@ extern bool ProcArrayInstallRestoredXmin(TransactionId xmin, PGPROC *proc);
|
|||||||
extern RunningTransactions GetRunningTransactionData(void);
|
extern RunningTransactions GetRunningTransactionData(void);
|
||||||
|
|
||||||
extern bool TransactionIdIsInProgress(TransactionId xid);
|
extern bool TransactionIdIsInProgress(TransactionId xid);
|
||||||
extern bool TransactionIdIsActive(TransactionId xid);
|
|
||||||
extern TransactionId GetOldestNonRemovableTransactionId(Relation rel);
|
extern TransactionId GetOldestNonRemovableTransactionId(Relation rel);
|
||||||
extern TransactionId GetOldestTransactionIdConsideredRunning(void);
|
extern TransactionId GetOldestTransactionIdConsideredRunning(void);
|
||||||
extern TransactionId GetOldestActiveTransactionId(void);
|
extern TransactionId GetOldestActiveTransactionId(void);
|
||||||
|
Reference in New Issue
Block a user