Re: nested xacts and phantom Xids - Mailing list pgsql-patches

From Tom Lane
Subject Re: nested xacts and phantom Xids
Date
Msg-id 29315.1088294169@sss.pgh.pa.us
Whole thread Raw
In response to Re: nested xacts and phantom Xids  (Alvaro Herrera <alvherre@dcc.uchile.cl>)
Responses Re: nested xacts and phantom Xids  (Alvaro Herrera <alvherre@dcc.uchile.cl>)
Re: nested xacts and phantom Xids  (Alvaro Herrera <alvherre@dcc.uchile.cl>)
List pgsql-patches
Do we really need SubtransCutoffXid?  AFAICS the reason for having it is
only this claim in RecordTransactionCommit:

         * We can't mark committed subtransactions as fully committed,
         * because concurrent transactions would see them as committed
         * and not as in-progress.  Leave them as "subcommitted" until
         * the parent transaction is below OldestXmin, per VACUUM.

but I think this is dead wrong.  As long as we mark the parent committed
first, there is no race condition.  tqual tests that are using snapshots
will need to recognize that the subtransaction is a member of one of the
snapshotted main XIDs, and those that are not will think committed is
committed.  So I want to mark subtransactions fully committed in
RecordTransactionCommit, and lose SubtransCutoffXid.  Comments?

BTW, it would help to know what parts of the patch you intend to work on
over the next couple of days.  I'm reviewing and editorializing right
now with intent to commit soon, so it would be good if we can avoid
tromping on each others' feet.

            regards, tom lane

pgsql-patches by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: nested xacts and phantom Xids
Next
From: Alvaro Herrera
Date:
Subject: Re: nested xacts and phantom Xids