Re: [Proposal] Global temporary tables

Поиск
Список
Период
Сортировка
От wenjing zeng
Тема Re: [Proposal] Global temporary tables
Дата
Msg-id B25A96E3-BFF2-4AAC-A78C-2717C74EB97B@gmail.com
обсуждение исходный текст
Ответ на Re: [Proposal] Global temporary tables  (Pavel Stehule <pavel.stehule@gmail.com>)
Ответы Re: [Proposal] Global temporary tables  (Robert Haas <robertmhaas@gmail.com>)
Список pgsql-hackers


2020年7月23日 下午2:54,Pavel Stehule <pavel.stehule@gmail.com> 写道:


I am thinking about explicit LOCK statements. Some applications use explicit locking from some reasons - typically as protection against race conditions.

But on GTT race conditions are not possible. So my question is - does the exclusive lock on GTT  protection other sessions do insert into their own instances of the same GTT?
In my opinion, with a GTT, always work on the private data of the session, 
there is no need to do anything by holding the lock, so the lock statement should do nothing (The same is true for ORACLE GTT)

What do you think?


What is a level where table locks are active? shared part of GTT or session instance part of GTT?
I don't quite understand what you mean, could you explain it a little bit?

It is about perspective, how we should see GTT tables. GTT table is a mix of two concepts - session private (data), and session shared (catalog). And hypothetically we can place locks to the private part (no effect) or shared part (usual effect how we know it). But can has sense, and both have an advantage and disadvantage. I afraid little bit about behaviour of stupid ORM systems - but the most important part of table are data - and then I prefer empty lock implementation for GTT.
This is empty lock implementation for GTT.

Please continue to review the code.

Thanks


Wenjing



Regards

Pavel





Wenjing








Wenjing



Now, table locks are implemented on a global level. So exclusive lock on GTT in one session block insertion on the second session. Is it expected behaviour? It is safe, but maybe it is too strict.

We should define what table lock is meaning on GTT.

Regards

Pavel
 
Pavel


With Regards,
Prabhat Kumar Sahu
EnterpriseDB: http://www.enterprisedb.com






Вложения

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

Предыдущее
От: Dmitry Markman
Дата:
Сообщение: windows config.pl question
Следующее
От: Robert Haas
Дата:
Сообщение: Re: Issue with cancel_before_shmem_exit while searching to remove a particular registered exit callbacks