Re: Partition Check not updated when insert into a partition

Поиск
Список
Период
Сортировка
От Pavel Borisov
Тема Re: Partition Check not updated when insert into a partition
Дата
Msg-id CALT9ZEEpn0aigwfZfUyu=TuDnGfw_ypT836L4zhjJNcqE3jSRg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Partition Check not updated when insert into a partition  (Amit Langote <amitlangote09@gmail.com>)
Ответы Re: Partition Check not updated when insert into a partition  (Amit Langote <amitlangote09@gmail.com>)
Список pgsql-hackers
The lock taken on the parent is either ShareUpdateExclusiveLock or
AccessExclusiveLock depending on whether CONCURRENTLY is specified or
not.  Maybe that should be considered also when locking the children.

I've updated the patch that way.  (Also, reintroduced the slightly
longer commit message that I had added in v3. :))

Thanks Amit, for your work!

I am little bit reluctant to the change you made in v5. As per https://www.postgresql.org/docs/14/sql-altertable.html:

> If CONCURRENTLY is specified, ... the second transaction acquires SHARE UPDATE EXCLUSIVE on the partitioned table and ACCESS EXCLUSIVE on the partition, and the detach process completes.

In comment to find_all_inheritors():

> The specified lock type is acquired on all child relations (but not on the given rel; caller should already have locked it) 

So I conclude that it is done in a right way in v3 with ACCESS_EXCLUSIVE lock.

Also I'd recommend removing the link to a discussion from the test. Anyway we have link in a commit message.

--
Best regards,
Pavel Borisov

Postgres Professional: http://postgrespro.com

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

Предыдущее
От: Aleksander Alekseev
Дата:
Сообщение: Re: [PATCH] Proposal for HIDDEN/INVISIBLE column
Следующее
От: Gilles Darold
Дата:
Сообщение: Re: [PATCH] Proposal for HIDDEN/INVISIBLE column