On 13 December 2012 20:03, Andres Freund <andres@2ndquadrant.com> wrote:
> Does anybody have an opinion on the attached patches? Especially 0001,
> which contains the procarray changes?
>
> It moves a computation of the sort of:
>
> result -= vacuum_defer_cleanup_age;
> if (!TransactionIdIsNormal(result))
> result = FirstNormalTransactionId;
>
> inside ProcArrayLock. But I can't really imagine that to be relevant...
I don't see why this is hard.
Just make the lock acquisition/release conditional on another parameter.
That way the only thing you'll be moving inside the lock is an if test
on a constant boolean.
-- Simon Riggs http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training & Services