Re: WAL logging of heap_mark4update

Поиск
Список
Период
Сортировка
От Heikki Linnakangas
Тема Re: WAL logging of heap_mark4update
Дата
Msg-id Pine.OSF.4.61.0501162142480.121445@kosh.hut.fi
обсуждение исходный текст
Ответ на Re: WAL logging of heap_mark4update  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: WAL logging of heap_mark4update  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
On Sat, 15 Jan 2005, Tom Lane wrote:

> Alvaro Herrera <alvherre@dcc.uchile.cl> writes:
>> Hackers,
>> In access/heap/heapam.c, in heap_mark4update(), there's a comment that
>> states
>
>>     /*
>>      * XLOG stuff: no logging is required as long as we have no
>>      * savepoints. For savepoints private log could be used...
>>      */
>
>> Is this still true in light of 8.0's savepoints?
>
> It isn't.  Since mark4update is simply establishing a lock, which isn't
> going to be held across a system crash anyway, I see no need to WAL-log
> it.  (But hmmm ... to support 2PC we'd probably need to do so ...)

Yes, for 2PC you need to keep all locks over system crash.

>> In any case I'm contemplating changing exclusive row locks to use
>> LockAcquire, and supporting shared row locks using the same mechanism.
>> All this per previous discussion on -hackers.  We could get rid of
>> heap_mark4update if that's done, right?
>
> Right.  The 2PC connection is another reason to do it that way --- 2PC
> would require some way to save locks anyhow, and it'd be nice if there
> were only one mechanism to deal with not two.

AFAICS, heap_mark4update calls XactLockTableWait for the updating 
transaction, and XactLockTableWait uses LockAcquire to do the waiting.

I must be missing something. Can someone briefly explain me 
what's special about this locking mechanism, please? How are you planning 
to change it?

- Heikki


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

Предыдущее
От: Manfred Koizar
Дата:
Сообщение: Re: Much Ado About COUNT(*)
Следующее
От: Tom Lane
Дата:
Сообщение: Re: WAL logging of heap_mark4update