On Tue, 2008-09-16 at 10:11 -0400, Alvaro Herrera wrote:
> Heikki Linnakangas wrote:
> > Simon Riggs wrote:
> >> Subtransactions cause a couple of problems for Hot Standby:
> >
> > Do we need to treat subtransactions any differently from normal
> > transactions? Just treat all subtransactions as top-level transactions
> > until commit, and mark them all as committed when you see the commit
> > record for the top-level transaction.
>
> This could lead to inconsistent results -- some of the subtransactions
> could be marked as committed while others are still in progress. Unless
> we want to be able to atomically mark them all as committed, but I don't
> think that's really an option because it could mean holding the clog
> lock for a long time, possibly involving I/O of clog pages.
If we did that we would need to mark them all subcomitted and then mark
them all committed. So its possible, but not desirable.
> I wonder if the improved clog API required to mark multiple
> transactions
> as committed at once would be also useful to TransactionIdCommitTree
> which is used in regular transaction commit.
Yes, I think its an improvement for regular commits/subcommits also.
-- Simon Riggs www.2ndQuadrant.comPostgreSQL Training, Services and Support