Re: Why is RegisterPredicateLockingXid called while holding XidGenLock?

Поиск
Список
Период
Сортировка
От Dan Ports
Тема Re: Why is RegisterPredicateLockingXid called while holding XidGenLock?
Дата
Msg-id 20110506041133.GC8503@csail.mit.edu
обсуждение исходный текст
Ответ на Why is RegisterPredicateLockingXid called while holding XidGenLock?  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Why is RegisterPredicateLockingXid called while holding XidGenLock?  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
On Thu, May 05, 2011 at 11:12:40PM -0400, Tom Lane wrote:
> Even if it's actually necessary to set up that data structure while
> holding XidGenLock, I would *really* like the call to not be exactly
> where it is.

Good question.

I don't believe it needs to be while XidGenLock is being held at all;
certainly not in this particular place. All that really matters is that
it happens before any backend starts seeing said xid in tuple headers.

I believe the call can be moved over to AssignTransactionId. I'd
probably put it at the end of that function, but it can go anywhere
between there and where it is now. Do you have any preference?

Dan

-- 
Dan R. K. Ports              MIT CSAIL                http://drkp.net/


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: clog_redo causing very long recovery time
Следующее
От: "Kevin Grittner"
Дата:
Сообщение: Re: Why is RegisterPredicateLockingXid called while holding XidGenLock?