diff options
| author | Tom Lane | 2004-08-22 02:41:58 +0000 |
|---|---|---|
| committer | Tom Lane | 2004-08-22 02:41:58 +0000 |
| commit | f009c316ba49857249611bc0d578c518c449879e (patch) | |
| tree | 4fbab4d7068969dced2e698735407b1ffca38075 /src/backend/utils/time | |
| parent | 37d937ea2c062093887e6aa03879166b6db06900 (diff) | |
Tweak code so that pg_subtrans is never consulted for XIDs older than
RecentXmin (== MyProc->xmin). This ensures that it will be safe to
truncate pg_subtrans at RecentGlobalXmin, which should largely eliminate
any fear of bloat. Along the way, eliminate SubTransXidsHaveCommonAncestor,
which isn't really needed and could not give a trustworthy result anyway
under the lookback restriction.
In an unrelated but nearby change, #ifdef out GetUndoRecPtr, which has
been dead code since 2001 and seems unlikely to ever be resurrected.
Diffstat (limited to 'src/backend/utils/time')
| -rw-r--r-- | src/backend/utils/time/tqual.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/backend/utils/time/tqual.c b/src/backend/utils/time/tqual.c index d1a7179484e..99ad9e52dd0 100644 --- a/src/backend/utils/time/tqual.c +++ b/src/backend/utils/time/tqual.c @@ -16,7 +16,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/utils/time/tqual.c,v 1.74 2004/07/28 14:23:30 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/utils/time/tqual.c,v 1.75 2004/08/22 02:41:57 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -933,8 +933,6 @@ HeapTupleSatisfiesVacuum(HeapTupleHeader tuple, TransactionId OldestXmin) { if (tuple->t_infomask & HEAP_XMAX_INVALID) /* xid invalid */ return HEAPTUPLE_INSERT_IN_PROGRESS; - Assert(SubTransXidsHaveCommonAncestor(HeapTupleHeaderGetXmin(tuple), - HeapTupleHeaderGetXmax(tuple))); if (tuple->t_infomask & HEAP_MARKED_FOR_UPDATE) return HEAPTUPLE_INSERT_IN_PROGRESS; /* inserted and then deleted by same xact */ @@ -1008,7 +1006,7 @@ HeapTupleSatisfiesVacuum(HeapTupleHeader tuple, TransactionId OldestXmin) * Deleter committed, but check special cases. */ - if (SubTransXidsHaveCommonAncestor(HeapTupleHeaderGetXmin(tuple), + if (TransactionIdEquals(HeapTupleHeaderGetXmin(tuple), HeapTupleHeaderGetXmax(tuple))) { /* |
