Re: Re: [COMMITTERS] pgsql: Add ERROR msg for GLOBAL/LOCAL TEMP is not yet implemented

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Kevin Grittner <Kevin(dot)Grittner(at)wicourts(dot)gov>
Cc: tgl(at)sss(dot)pgh(dot)pa(dot)us, simon(at)2ndquadrant(dot)com, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Re: [COMMITTERS] pgsql: Add ERROR msg for GLOBAL/LOCAL TEMP is not yet implemented
Date: 2012-06-11 15:44:37
Message-ID: CA+Tgmoaj+iNsZvYuedFtSw5VoHDnMSMDw=632WX8CZSdaN8FkA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sun, Jun 10, 2012 at 11:22 AM, Kevin Grittner
<Kevin(dot)Grittner(at)wicourts(dot)gov> wrote:
> So there are three types of temporary tables defined in the standard,
> and the PostgreSQL implementation doesn't look like any of them.  The
> bad thing is that PostgreSQL supports syntax for two of them without
> matching the standard semantics.  :-(
>
> CREATE TEMPORARY TABLE (without LOCAL or GLOBAL) would be an
> extension which could not be confused with standard syntax, so
> arguably refusing to accept those would be the right thing to do from
> a standards compliance perspective -- it would be a legitimate
> PostgreSQL extension that way, but the breakage of working code which
> would result from suddenly doing that could never be considered
> acceptable.
>
> What to do about all this?
>
> Unless we expect to implement modules in the next release or two,
> perhaps we should address the LOCAL noise-word in the docs, with a
> note that its usage is non-standard and discouraged since it might
> conflict with standard usage in future releases.  Since we've had an
> actual patch submitted for implementing GLOBAL temporary tables,
> perhaps that merits a run-time warning in 9.2 (also supported by a
> warning in the docs).

We don't actually have a patch for GTT at this point; Noah is at least
the second person to threaten to write one, but nobody's actually done
it yet to my knowledge.

Maybe the right thing to do here is nothing. I think to some degree
we are arguing about what color to paint an imaginary bikeshed. If at
some point we support GTTs using the syntax CREATE GLOBAL TEMPORARY
TABLE, then there is going to be a compatibility break. What we are
arguing about is whether to pull that compatibility break forward into
9.2, or wait and let it break in the release where it has to break;
and also whether we ought to force a compatibility break CREATE LOCAL
TEMPORARY TABLE while we're at it. In the absence of agreement on
either point, perhaps we should just leave this well enough alone.
Even if we throw hard errors in 9.2, as Simon's patch did, it's not
going to substantially ease the pain of migration if GTTs land in 9.3;
a lot of people skip releases when upgrading. Warnings are even
wimpier in terms of getting people to fix their code. If we were all
on the same page about what to do that would be one thing, but given
that we're not...

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Magnus Hagander 2012-06-11 15:47:00 Re: [ADMIN] pg_basebackup blocking all queries with horrible performance
Previous Message Kevin Grittner 2012-06-11 15:36:31 Re: 9.2 final