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 ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster