diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c index 184fe28f5c5..a38fed18fb6 100644 --- a/src/backend/access/transam/xact.c +++ b/src/backend/access/transam/xact.c @@ -392,30 +392,6 @@ GetCurrentTransactionIdIfAny(void) return CurrentTransactionState->transactionId; } -/* - * GetStableLatestTransactionId - * - * Get the XID once and then return same value for rest of transaction. - * Acts as a useful reference point for maintenance tasks. - */ -TransactionId -GetStableLatestTransactionId(void) -{ - static LocalTransactionId lxid = InvalidLocalTransactionId; - static TransactionId stablexid = InvalidTransactionId; - - if (lxid != MyProc->lxid) - { - lxid = MyProc->lxid; - stablexid = GetTopTransactionIdIfAny(); - if (!TransactionIdIsValid(stablexid)) - stablexid = ReadNewTransactionId(); - } - - Assert(TransactionIdIsValid(stablexid)); - - return stablexid; -} /* * AssignTransactionId diff --git a/src/backend/utils/adt/xid.c b/src/backend/utils/adt/xid.c index 0613bd09286..76d29ff2a37 100644 --- a/src/backend/utils/adt/xid.c +++ b/src/backend/utils/adt/xid.c @@ -87,13 +87,13 @@ xideq(PG_FUNCTION_ARGS) } /* - * xid_age - compute age of an XID (relative to latest stable xid) + * xid_age - compute age of an XID (relative to current xact) */ Datum xid_age(PG_FUNCTION_ARGS) { TransactionId xid = PG_GETARG_TRANSACTIONID(0); - TransactionId now = GetStableLatestTransactionId(); + TransactionId now = GetTopTransactionId(); /* Permanent XIDs are always infinitely old */ if (!TransactionIdIsNormal(xid)) diff --git a/src/include/access/xact.h b/src/include/access/xact.h index 29ef4a1bce3..cb440d41f14 100644 --- a/src/include/access/xact.h +++ b/src/include/access/xact.h @@ -198,7 +198,6 @@ extern TransactionId GetTopTransactionId(void); extern TransactionId GetTopTransactionIdIfAny(void); extern TransactionId GetCurrentTransactionId(void); extern TransactionId GetCurrentTransactionIdIfAny(void); -extern TransactionId GetStableLatestTransactionId(void); extern SubTransactionId GetCurrentSubTransactionId(void); extern CommandId GetCurrentCommandId(bool used); extern TimestampTz GetCurrentTransactionStartTimestamp(void);