[ 
https://issues.apache.org/jira/browse/CALCITE-2904?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16788408#comment-16788408
 ] 

Julian Hyde commented on CALCITE-2904:
--------------------------------------

Ah, cancel that. Because of LATERAL we should be able to see the 'c' column in 
the 't(c)' table.

Maybe we cannot see it because it happens to have the same table alias, 't'. 
That's probably a bug.

Does the query succeed if you change one of the 't' to 't2'?

>  Column not found in table when query contain duplicate table alias
> -------------------------------------------------------------------
>
>                 Key: CALCITE-2904
>                 URL: https://issues.apache.org/jira/browse/CALCITE-2904
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>            Reporter: Haisheng Yuan
>            Priority: Major
>
> Repro:
> In SqlToRelConverterTest.java, add this test.
> {code:java}
> @Test public void testDuplicateTableAlias() {
>     final String sql = "select * from (values 4) as t(c) "
>         + "left join lateral "
>         + "(select c,c*a from "
>         + "    (values 2) as t(a)"
>         + ") as r(d,c) "
>         + "using(c)";
>     sql(sql).ok();
>   }
> {code}
> Error message:
> {code:java}
> org.apache.calcite.runtime.CalciteContextException: At line 1, column 60: 
> Column 'C' not found in table 'T'
> {code}
> The tables with same aliases are at different level. Postgres can parse this 
> query without any issue. Not sure if this is expected behavior or not in 
> calcite.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to