Thread: Glitches in heapam.c xlog redo routines

Glitches in heapam.c xlog redo routines

From
Tom Lane
Date:
These things look like bugs to me:

heap_xlog_clean doesn't update the page's LSN and SUI.

heap_xlog_insert and heap_xlog_update leave random bits in the
inserted/updated tuple's t_ctid.  heap_xlog_update leaves random
bits in the updated tuple's t_cmax in the "move" case.

I am not sure about what sort of visible fault these omissions could
produce; perhaps none.  But they look like dangerous things IMHO.
Comments?
        regards, tom lane


Re: Glitches in heapam.c xlog redo routines

From
Hiroshi Inoue
Date:
Tom Lane wrote:
> 
> These things look like bugs to me:
> 
> heap_xlog_clean doesn't update the page's LSN and SUI.
> 
> heap_xlog_insert and heap_xlog_update leave random bits in the
> inserted/updated tuple's t_ctid.  heap_xlog_update leaves random
> bits in the updated tuple's t_cmax in the "move" case.

As far as I see, t_cmax isn't used anywhere once a tuple
was committed.

> 
> I am not sure about what sort of visible fault these omissions could
> produce; perhaps none.  But they look like dangerous things IMHO.
> Comments?

I'm not sure about the heap_xlog_clean case. Updating
LSN and SUI seems better to me.

regards,
Hiroshi Inoue