Teodor Sigaev wrote:
> Playing around freezing tuple I found suspicious piece of code:
>
> heap_prepare_freeze_tuple():
> ...
> frz->t_infomask = tuple->t_infomask;
> ...
> frz->t_infomask &= ~HEAP_XMAX_BITS;
> frz->xmax = newxmax;
> if (flags & FRM_MARK_COMMITTED)
> frz->t_infomask &= HEAP_XMAX_COMMITTED;
>
> Seems, in last line it should be a bitwise OR instead of AND. Now this line
> cleans all bits in t_infomask which later will be copied directly in tuple.
I think you're right.
--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services