On Tue, Jun 01, 2004 at 06:40:07PM -0400, Bruce Momjian wrote: > So, we need a way to record the xmin and xmax while keeping cmin and > cmax in the tuple header. My idea is for subtransactions to create > additional xid's that represent the opposite of the commit state for > changing tuples created by earlier subtransactions.
Hmm, interesting idea. What seems more interesting is that the change seems to be confined to HeapTupleHeaderSetXmax. Every transaction and subtransaction will need two Xids (I think we can even optimize it so the "abort xid" is taken only as needed). I don't see anything immediately that would invalidate this idea. I'll marinate it while I write the trigger stuff, and wait for other comments. If nothing bad arises I'll try an implementation and report back. Thanks, -- Alvaro Herrera (<alvherre[a]dcc.uchile.cl>) "Nunca confiaré en un traidor. Ni siquiera si el traidor lo he creado yo" (Barón Vladimir Harkonnen) ---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster