Commit 867540b4 authored by Simon Riggs's avatar Simon Riggs

Ensure backwards compatibility for GetStableLatestTransactionId()

parent afe86a9e
...@@ -390,11 +390,10 @@ GetCurrentTransactionIdIfAny(void) ...@@ -390,11 +390,10 @@ GetCurrentTransactionIdIfAny(void)
return CurrentTransactionState->transactionId; return CurrentTransactionState->transactionId;
} }
/* /*
* GetStableLatestTransactionIdIfAny * GetStableLatestTransactionId
* *
* Get the latest XID once and then return same value for rest of transaction. * Get the XID once and then return same value for rest of transaction.
* Acts as a useful reference point for maintenance tasks. * Acts as a useful reference point for maintenance tasks.
*/ */
TransactionId TransactionId
...@@ -403,13 +402,16 @@ GetStableLatestTransactionId(void) ...@@ -403,13 +402,16 @@ GetStableLatestTransactionId(void)
static LocalTransactionId lxid = InvalidLocalTransactionId; static LocalTransactionId lxid = InvalidLocalTransactionId;
static TransactionId stablexid = InvalidTransactionId; static TransactionId stablexid = InvalidTransactionId;
if (lxid != MyProc->lxid || if (lxid != MyProc->lxid)
!TransactionIdIsValid(stablexid))
{ {
lxid = MyProc->lxid; lxid = MyProc->lxid;
stablexid = GetTopTransactionIdIfAny();
if (!TransactionIdIsValid(stablexid))
stablexid = ReadNewTransactionId(); stablexid = ReadNewTransactionId();
} }
Assert(TransactionIdIsValid(stablexid));
return stablexid; return stablexid;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment