Re: heap_tuple_needs_freeze false positive

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Alvaro Herrera <alvherre@alvh.no-ip.org>
Cc: Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2012-02-02T04:03:46Z
Lists: pgsql-hackers
Alvaro Herrera <alvherre@alvh.no-ip.org> writes:
> ! 	if (!(tuple->t_infomask & HEAP_XMAX_INVALID))
>   	{
> ! 		if (!(tuple->t_infomask & HEAP_XMAX_IS_MULTI))

How about just one test,

	if (!(tuple->t_infomask & (HEAP_XMAX_INVALID | HEAP_XMAX_IS_MULTI)))

But other than that quibble, yeah, it's a bug.  XMAX_INVALID means just
that: the xmax is not to be thought valid.

			regards, tom lane