Re: [HACKERS] Suspicious place in heap_prepare_freeze_tuple() - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: [HACKERS] Suspicious place in heap_prepare_freeze_tuple()
Date
Msg-id 20170705163621.tmcuwj2pgiqc3bzg@alvherre.pgsql
Whole thread Raw
In response to [HACKERS] Suspicious place in heap_prepare_freeze_tuple()  (Teodor Sigaev <teodor@sigaev.ru>)
Responses Re: [HACKERS] Suspicious place in heap_prepare_freeze_tuple()
List pgsql-hackers
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



pgsql-hackers by date:

Previous
From: Teodor Sigaev
Date:
Subject: [HACKERS] Suspicious place in heap_prepare_freeze_tuple()
Next
From: Dean Rasheed
Date:
Subject: Re: [HACKERS] Multi column range partition table