Zeugswetter Andreas SB <ZeugswetterA@wien.spardat.at> writes:
>> Wouldn't it be the same as the case where we *do* have UNDO? How is a
>> removed tuple different from a tuple that was never there?
> HiHi, the problem is a subtile one. What if a previously aborted txn
> produced a btree page split, that would otherwise not have happened ?
Good point. We'd have to recognize btree splits (and possibly some
other operations) as things that must be done anyway, even if their
originating transaction is aborted.
There already is a mechanism for doing that: xlog entries can be written
without any transaction identifier (see XLOG_NO_TRAN). Seems to me that
btree split XLOG records should be getting written that way now --- Vadim,
don't you agree?
regards, tom lane