postgres.git / summary / log / commit / refs

commit    d02918fc3e67104348dd7ba67b17df6836201ac0
Author:   Simon Riggs <simon@2ndQuadrant.com>
Date:     Wed May 09 13:00:09 2012 +0000
First released in: 9.2.0, REL9_0_STABLE (reverted before release), REL9_1_STABLE (reverted before release)
Reverted by: d9e1ea4de8c9 (in 9.0.8), 3dfaea4727fb (in 9.1.4)

    Avoid xid error from age() function when run on Hot Standby


src/backend/utils/adt/xid.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/backend/utils/adt/xid.c b/src/backend/utils/adt/xid.c index fcde92cb8a8..7db6bb1a660 100644 --- a/src/backend/utils/adt/xid.c +++ b/src/backend/utils/adt/xid.c @@ -93,7 +93,10 @@ Datum xid_age(PG_FUNCTION_ARGS) { TransactionId xid = PG_GETARG_TRANSACTIONID(0); - TransactionId now = GetTopTransactionId(); + TransactionId now = GetTopTransactionIdIfAny(); + + if (!TransactionIdIsValid(now)) + now = ReadNewTransactionId(); /* Permanent XIDs are always infinitely old */ if (!TransactionIdIsNormal(xid)) [parent: 14c412da46d9]