[ 
https://issues.apache.org/jira/browse/CALCITE-5530?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jiajun Xie reassigned CALCITE-5530:
-----------------------------------

    Assignee: Jiajun Xie

> RelToSqlConverter[ORDER BY] generates an incorrect field alias when 2 
> projection fields have the same name
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: CALCITE-5530
>                 URL: https://issues.apache.org/jira/browse/CALCITE-5530
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.33.0
>            Reporter: Abbas Gadhia
>            Assignee: Jiajun Xie
>            Priority: Minor
>
> In queries typical of Teradata,
> if there exists an expression alias that is also a field in the underlying 
> table, any references to that field in the ORDER BY, refer to the underlying 
> physical column rather than the expression alias.
> For ex. in the following query and Rel
>  
> {code:java}
> SELECT UPPER(ENAME) AS EMPNO FROM scott.EMP order by EMPNO;{code}
> {noformat}
> LogicalProject(EMPNO=[$0])
>   LogicalSort(sort0=[$1], dir0=[ASC])
>     LogicalProject(EMPNO=[UPPER($1)], EMPNO0=[$0])
>       LogicalTableScan(table=[[scott, EMP]]){noformat}
> EMPNO actually refers to the underlying physical column. 
>  
> The output of RelToSqlConverter is the following
> {code:java}
> SELECT UPPER(ENAME) AS EMPNO FROM scott.EMP order by EMPNO0;
> SELECT UPPER(ENAME) AS EMPNO FROM scott.EMP ORDER BY 2;{code}
> Here EMPNO0 or ordinal 2 does not exist and fails.
>  
> This issue, i believe was introduced due to the changes done as part of 
> https://issues.apache.org/jira/browse/CALCITE-4901



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to