Tom Lane wrote:
> Heikki Linnakangas <heikki@enterprisedb.com> writes:
>> Tom Lane wrote:
>>> What sort of "wait for finish" mechanism do you have in mind?
>
>> I was thinking of XactLockTableWait.
>
> Ugh. I don't think the bgwriter can participate in heavyweight-lockmgr
> operations, or should become able to.
Oh, good point.
I suppose we could just poll and sleep, checkpoint is a heavy operation
anyway so a little delay wouldn't hurt.
> Nor will that work for prepared xacts --- you don't want to wait for the
> eventual commit, only for PREPARE TRANSACTION to exit its critical
> section.
PREPARE TRANSACTION wouldn't set the flag in MyProc; there's no clog
changes to protect from at that point. It would be set in
RecordTransactionCommitPrepared when we're really committing. Just like
we use the CheckpointStartLock today.
-- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com