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-fa592d565...@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



Reply via email to