"Florian G. Pflug" <fgp(at)phlo(dot)org> writes:
> Tom Lane wrote:
>> One thought here is that it's not clear that we really need a concept of
>> transaction-controlled vs not-transaction-controlled xlog records
>> anymore.
> I've thinking about keeping XLOG_NO_TRAN, and doing
> if (!no_tran)
> Assert(TransactionIdIsValid(GetCurrentTransactionIdIfAny())
> in xlog.c as a safety measure.
Why do you think this is a safety measure? All that it is checking
is whether the caller has preserved an entirely useless distinction.
The real correctness property is that you can't write your XID
into a heap tuple or XLOG record if you haven't acquired an XID,
but that seems nearly tautological.
regards, tom lane