diff options
| author | Simon Riggs <simon@2ndQuadrant.com> | 2012-05-09 14:00:09 +0100 |
|---|---|---|
| committer | Simon Riggs <simon@2ndQuadrant.com> | 2012-05-09 14:00:09 +0100 |
| commit | d02918fc3e67104348dd7ba67b17df6836201ac0 (patch) | |
| tree | 338c98e34268ff501dcc49a9d7fb214354566684 /src/backend | |
| parent | 14c412da46d9e36ab19c42ec6fb66139dbc30c3e (diff) | |
Avoid xid error from age() function when run on Hot Standby
Diffstat (limited to 'src/backend')
| -rw-r--r-- | src/backend/utils/adt/xid.c | 5 |
1 files changed, 4 insertions, 1 deletions
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)) |
