Heikki Linnakangas <heikki@enterprisedb.com> writes:
> Florian G. Pflug wrote:
>> * Note: xlog record is marked as outside transaction control, since we
>> * want it to be redone whether the invoking transaction commits or not.
> That comment is a bit misleading, I agree. We don't skip xlog entries,
> they're always replayed.
Yeah, this distinction is another bit of effectively-dead code left over
from Vadim's original plan of using WAL for UNDO. I haven't worried
about ripping it out because it doesn't cost much and it seems that
distinguishing transactional from nontransactional changes might be
useful for log analysis if nothing else.
> Yep, that's right. The reconstructed page is not always byte-to-byte
> identical to the original.
We don't worry about recovering cmin/cmax since only the originating
transaction would have cared. I think physical location of tuples on
a page isn't reliably reproduced either.
regards, tom lane