Re: Allow an alias to be attached directly to a JOIN ... USING - Mailing list pgsql-hackers

From Vik Fearing
Subject Re: Allow an alias to be attached directly to a JOIN ... USING
Date
Msg-id 8568b66d-405d-5d83-ac8c-e107f1b9f113@2ndquadrant.com
Whole thread Raw
In response to Re: Allow an alias to be attached directly to a JOIN ... USING  (Peter Eisentraut <peter.eisentraut@2ndquadrant.com>)
Responses Re: Allow an alias to be attached directly to a JOIN ... USING  (Peter Eisentraut <peter.eisentraut@2ndquadrant.com>)
List pgsql-hackers
On 30/12/2019 22:25, Peter Eisentraut wrote:
> On 2019-12-24 19:13, Fabien COELHO wrote:
>>>> Indeed, that seems like a problem, and it's a good question.  You can
>>>> see this on unpatched master with SELECT x.filler FROM
>>>> (pgbench_tellers AS t JOIN b USING (bid)) AS x.
>>>
>>> I'm not sure I understand why that problem is a blocker for this patch.
>>
>> As discussed on another thread,
>>
>>      
>> https://www.postgresql.org/message-id/flat/2aa57950-b1d7-e9b6-0770-fa592d565dda@2ndquadrant.com
>>
>> the patch does not conform to spec
>>
>>     SQL:2016 Part 2 Foundation Section 7.10 <joined table>
>>
>> Basically "x" is expected to include *ONLY* joined attributes with
>> USING,
>> i.e. above only x.bid should exists, and per-table aliases are
>> expected to
>> still work for other attributes.
>
> I took another crack at this.  Attached is a new patch that addresses
> the semantic comments from this and the other thread.  It's all a bit
> tricky, comments welcome.


Excellent!  Thank you for working on this, Peter.


One thing I notice is that the joined columns are still accessible from
their respective table names when they should not be per spec.  That
might be one of those "silly restrictions" that we choose to ignore, but
it should probably be noted somewhere, at the very least in a code
comment if not in user documentation. (This is my reading of SQL:2016 SR
11.a.i)

-- 

Vik Fearing




pgsql-hackers by date:

Previous
From: Peter Geoghegan
Date:
Subject: Re: Building infrastructure for B-Tree deduplication that recognizeswhen opclass equality is also equivalence
Next
From: Tom Lane
Date:
Subject: Re: [PATCH] Increase the maximum value track_activity_query_size