On Wed, 2007-08-29 at 19:32 +0200, Florian G. Pflug wrote:
> I propose to do the following in my lazy XID assignment patch
The lazy XID assignment seems to be the key to unlocking this whole
area.
> - can
> anyone see a hole in that?
>
> .) Get rid of MyLastRecPtr and MyXactMadeTempRelUpdates. Those are
> superseeded by TransactionIdIsValid(GetCurrentTransactionIdIfAny()).
> .) Get rid of MyXactMadeXLogEntry. Instead, just reset ProcLast
> .) Rename ProcLastRecEnd to XactLastRecEnd, and reset when starting
> a new toplevel transaction.
I followed you up to this point. Nothing bad springs immediately to
mind, but please can you explain the proposals rather than just assert
them and ask us to find the holes?
> I think we might go even further, and *never* flush the XLOG on abort,
> since if we crash just before the abort won't log anything either. But
> if we leak the leftover files in such a case, that's probably a bad idea.
That doesn't gain us much, yet we lose the ability to tell the
difference between an abort and a crash.
-- Simon Riggs 2ndQuadrant http://www.2ndQuadrant.com