Re: Partitioning/inherited tables vs FKs

Поиск
Список
Период
Сортировка
От Nicolas Barbier
Тема Re: Partitioning/inherited tables vs FKs
Дата
Msg-id u2nb0f3f5a11005110607qfbe75589j74660f9a87d75021@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Partitioning/inherited tables vs FKs  (Marko Tiikkaja <marko.tiikkaja@cs.helsinki.fi>)
Ответы Re: Partitioning/inherited tables vs FKs  (Marko Tiikkaja <marko.tiikkaja@cs.helsinki.fi>)
Список pgsql-hackers
2010/5/11 Marko Tiikkaja <marko.tiikkaja@cs.helsinki.fi>:

> This is getting way off topic, but:
>
> On 5/11/10 3:55 PM +0300, Nicolas Barbier wrote:
>>
>> T2>  SELECT i FROM a WHERE i = 1 FOR SHARE; -- Lock a with i = 1 FOR
>> SHARE.
>>  i
>> ---
>>  1
>> (1 Zeile)
>>
>> T2>  SELECT a_id FROM b WHERE a_id = 1; -- Check whether it's got
>> anything pointing to it.
>>  a_id
>> ------
>> (0 Zeilen)
>>
>> T2>  DELETE FROM a WHERE i = 1; -- Nope, so delete a with i = 1 (this
>> blocks, because T1 is still holding the lock).
>
> Obviously you wouldn't delete anything with a SHARE lock.

So where would you put a SELECT ... FOR SHARE to fix the problem? (Per
"Will SELECT ... FOR SHARE not help?".) I agree that my second FOR
SHARE doesn't really make a lot of sense, but that doesn't disprove
the fact that the first FOR SHARE fails to ensure consistency.

Nicolas


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

Предыдущее
От: Marko Tiikkaja
Дата:
Сообщение: Re: Partitioning/inherited tables vs FKs
Следующее
От: Marko Tiikkaja
Дата:
Сообщение: Re: Partitioning/inherited tables vs FKs