"letizia leo" <[EMAIL PROTECTED]> wrote
>
>  Transaction T1 updates a given tuple -- xmax is set to T1 on that tuple
>  ...
>  later on, T1 aborts... we believe that in this circumstance
HEAP_XMAX_INVALID should
> be set on the tuple to signal that the tuple was not actually "deleted" by
T1 since this aborted.
>

Not really. HEAP_XMAX_INVALID is a value of the hint bits, which helps to
fast determine if a tuple is visible. The important thing is the header
xmin, xmax, cmin, cmax stuff, which decides the visibility of the a tuple.
When they are checked, current backend might be happy to set the hint bits
so that other backends can fast determine its visibility with less job.

So you can say even without these hint bits, Postgres won't make anything
wrong, but may get slower.

Regards,
Qingqing




---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
       choose an index scan if your joining column's datatypes do not
       match

Reply via email to