2015-07-15 15:21 GMT+02:00 Zhaomo Yang <zhy...@cs.ucsd.edu>:

> > Sounds fine in general. I'm a bit curious to know what are the locking
> implications of > vivifying the table on access.
>
> The locking implications depend on how we interpret the existing commands
> in the context of global temp tables and I think we should discuss and
> agree on the behaviors of the commands with global temp tables, but I think
> in general we can follow these rules:
>
> If the command executes on the global temp table's metadata, for example
> an ALTER TABLE command, then we lock the global copy at the same level as
> we do a regular table.
>

there is other question - what is effect of ALTER TABLE of global temp
table on instances of this table in active sessions?


>
> If the command executes on the global temp table's data (which is actually
> stored in the session copy), for example an DML command, then the global
> copy is locked at the AccessShareLock level to prevent concurrent
> modifications to the global temp table's definition from other sessions.
>
> Thanks,
> Zhaomo
>
> On Wed, Jul 15, 2015 at 4:26 AM, Andrew Dunstan <and...@dunslane.net>
> wrote:
>
>>
>> On 07/15/2015 07:58 AM, Simon Riggs wrote:
>>
>>
>>> For me the design summary is this
>>>
>>> * CREATE GLOBAL TEMP TABLE creates catalog entries like a normal table
>>> but with different relkind
>>> * When we see a request to INSERT, DEL, UPD, SEL from the temp table, if
>>> it does not exist we create it as a TEMP table of the same name, using the
>>> Global's pg_class entry as a template
>>>
>>> That meets the SQL Standard and doesn't contain any visibility problems
>>> or need for new internals.
>>>
>>> The purpose of this feature is to automatically create a temp table with
>>> the same definition whenever needed. The discussion of "bloat" is just
>>> wrong. We create exactly the same amount of bloat as if we had typed CREATE
>>> TEMP TABLE. Optimising temp table entries in the catalog is another,
>>> separate patch, if we care.
>>>
>>>
>>>
>> Sounds fine in general. I'm a bit curious to know what are the locking
>> implications of vivifying the table on access.
>>
>> cheers
>>
>> andrew
>>
>
>

Reply via email to