diff options
| -rw-r--r-- | src/backend/utils/time/tqual.c | 20 | 
1 files changed, 2 insertions, 18 deletions
| diff --git a/src/backend/utils/time/tqual.c b/src/backend/utils/time/tqual.c index bc19df813f3..96e480bc07e 100644 --- a/src/backend/utils/time/tqual.c +++ b/src/backend/utils/time/tqual.c @@ -1217,27 +1217,11 @@ HeapTupleSatisfiesVacuum(HeapTupleHeader tuple, TransactionId OldestXmin,  	}  	/* -	 * Deleter committed, but check special cases. +	 * Deleter committed, but perhaps it was recent enough that some open +	 * transactions could still see the tuple.  	 */ - -	if (TransactionIdEquals(HeapTupleHeaderGetXmin(tuple), -							HeapTupleHeaderGetXmax(tuple))) -	{ -		/* -		 * Inserter also deleted it, so it was never visible to anyone else. -		 * However, we can only remove it early if it's not an updated tuple; -		 * else its parent tuple is linking to it via t_ctid, and this tuple -		 * mustn't go away before the parent does. -		 */ -		if (!(tuple->t_infomask & HEAP_UPDATED)) -			return HEAPTUPLE_DEAD; -	} -  	if (!TransactionIdPrecedes(HeapTupleHeaderGetXmax(tuple), OldestXmin)) -	{ -		/* deleting xact is too recent, tuple could still be visible */  		return HEAPTUPLE_RECENTLY_DEAD; -	}  	/* Otherwise, it's dead and removable */  	return HEAPTUPLE_DEAD; | 
