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)