Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> One thing I just noticed is that the spec does not consider
> GLOBAL/LOCAL to be optional --- per spec you *must* write one or the
> other in front of TEMPORARY.
Agreed.
> So we could adopt the view that omitting this keyword
> implies our current non-spec behavior (which is far too useful to
> give up, spec compliance or no) while writing one or the other
> selects the spec behavior.
+1 (+1)
> However, if we're going to do that then we should start
> throwing warnings for use of the keywords, preferably before the
> release in which they actually start doing something different.
We might actually want to have a major release which rejects the
standard syntax before the release where we implement standard
behavior for it. (After, of course, a major release which issues the
warning.) When we get to the point of breaking existing code (which
is inevitable if we move to compliance here), it's better to break in
a clear and predictable way....
Of course, that would mean that implementation would be three releases
away (warn, disable syntax, reenable syntax with standard semantics).
-Kevin