Re: Implementation of global temporary tables?

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Simon Riggs <simon(at)2ndQuadrant(dot)com>, Jim Nasby <Jim(dot)Nasby(at)bluetreble(dot)com>
Cc: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>, Zhaomo Yang <zhy001(at)cs(dot)ucsd(dot)edu>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Kevin Grittner <Kevin(dot)Grittner(at)wicourts(dot)gov>, Robert Haas <robertmhaas(at)gmail(dot)com>
Subject: Re: Implementation of global temporary tables?
Date: 2015-07-15 12:26:31
Message-ID: 55A65177.7070107@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Pavel Stehule 2015-07-15 12:40:21 Re: Implementation of global temporary tables?
Previous Message Simon Riggs 2015-07-15 11:58:51 Re: Implementation of global temporary tables?