Re: logical decoding - GetOldestXmin
От | Andres Freund |
---|---|
Тема | Re: logical decoding - GetOldestXmin |
Дата | |
Msg-id | 20121216170235.GH4683@awork2.anarazel.de обсуждение исходный текст |
Ответ на | Re: logical decoding - GetOldestXmin (Simon Riggs <simon@2ndQuadrant.com>) |
Список | pgsql-hackers |
On 2012-12-16 16:44:04 +0000, Simon Riggs wrote: > 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. Thats not really cheaper. Two branches + additional parameter passed/pushed vs one branch, one subtransaction, two assignments is a close call. As I don't think either really matters in the GetOldestXmin case, I would be happy with that as well. If people prefer an additional parameter + adjusting the few callsite vs. a separate function I will go that way. Greetings, Andres Freund --Andres Freund http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training & Services
В списке pgsql-hackers по дате отправления: