You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Benchao Li (Jira)" <ji...@apache.org> on 2023/05/05 02:22:00 UTC
[jira] [Updated] (CALCITE-5530) RelToSqlConverter[ORDER BY] generates an incorrect field alias when 2 projection fields have the same name
[ https://issues.apache.org/jira/browse/CALCITE-5530?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Benchao Li updated CALCITE-5530:
--------------------------------
Component/s: jdbc-adapter
(was: core)
> 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: jdbc-adapter
> Affects Versions: 1.33.0
> Reporter: Abbas Gadhia
> Assignee: Jiajun Xie
> Priority: Minor
> Labels: pull-request-available
> Fix For: 1.35.0
>
> Time Spent: 2h
> Remaining Estimate: 0h
>
> 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)