Re: Questionable behavior regarding aliasing

From: Jim Nasby <Jim(dot)Nasby(at)BlueTreble(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Questionable behavior regarding aliasing
Date: 2015-10-09 21:56:34
Message-ID: 56183812.20901@BlueTreble.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 10/9/15 4:16 PM, Tom Lane wrote:
> Jim Nasby <Jim(dot)Nasby(at)BlueTreble(dot)com> writes:
>> I fat-fingered a view create and ended up with this:
>> ...
>> , schemaname, relname -- other
>> now
>> , d_now, ...
>> I was about to report this as a bug until Marko Tiikkaja pointed out on
>> IRC that now was being treated as an alias for relname.
>
>> I'm not sure if this is required by the spec, but can we at least emit a
>> WARNING if not reject this case outright?
>
> SQL:2011 gives the syntax of a SELECT list element as
>
> <derived column> ::=
> <value expression> [ <as clause> ]
> <as clause> ::=
> [ AS ] <column name>
>
> There is not a lot of room for argument there. And we got a lot of
> complaints back when we didn't support omitting AS.

I'm OK with omitting AS; what tripped me up was the combination of
omitting AS *and* the next token showing up on a new line. Is there some
reasonable way to detect that in gram.y?

Like Marko I'd be fine with a GUC for just disabling this.

> If we're going to get into the business of emitting warnings for
> required-by-SQL-spec constructs, I'm not sure that this one is
> where I'd start. Unqualified outer references seem to catch a
> lot more people.

I'm not sure what that looks like. I always use explicit join syntax, so
maybe that's why I've never hit it.
--
Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX
Experts in Analytics, Data Architecture and PostgreSQL
Data in Trouble? Get it in Treble! http://BlueTreble.com

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2015-10-09 23:39:53 Re: More work on SortSupport for text - strcoll() and strxfrm() caching
Previous Message Tom Lane 2015-10-09 21:51:44 Re: pg_ctl/pg_rewind tests vs. slow AIX buildfarm members