Re: SQL feature requests - Mailing list pgsql-hackers

From Gregory Stark
Subject Re: SQL feature requests
Date
Msg-id 87r6lu435g.fsf@oxford.xeocode.com
Whole thread Raw
In response to Re: SQL feature requests  (Alvaro Herrera <alvherre@commandprompt.com>)
Responses Re: SQL feature requests  (Alvaro Herrera <alvherre@commandprompt.com>)
List pgsql-hackers
"Alvaro Herrera" <alvherre@commandprompt.com> writes:

> Gregory Stark escribió:
>
>> The upside is the convenience which after all is the same upside as most of
>> our spec grammar extensions. Many many programmers are accustomed to entering
>> ad-hoc queries of this form and forcing them to enter an alias for no purpose
>> is just silly pedanticism from their point of view. The portability of ad-hoc
>> queries is meaningless and if you don't refer to the alias in the query then
>> it's truly pointless.
>
> So there's the compromise: allow not specifying an alias only if it's
> not used in the rest of the query at all, so the subquery would be
> effectively anonymous.

If what's not used in the rest of the query? If you haven't specified the
alias what would you use? Surely even if we did generate an alias name nobody
would think the generated name was guaranteed to be stable and reference it?

I think the compromise is to instead of generating aliases at all just use an
alias like "*Anonymous Subquery*" and add a boolean flag indicating that that
range table is anonymous and not a valid target for references. I started
doing that a while back but got distracted (and discouraged since it seemed
not to have widespread support).

IMHO even generating non-anonymous aliases like "*Anonymous Subquery*1" would
be fine but I'm happy to have a flag hiding them too.

--  Gregory Stark EnterpriseDB          http://www.enterprisedb.com


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: SQL feature requests
Next
From: Michael Glaesemann
Date:
Subject: Re: SQL feature requests