Glitches in heapam.c xlog redo routines
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
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