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

Danny Chan commented on CALCITE-3261:
-------------------------------------

Thanks [~johnzh], the column name is "EXPR$1" because this is a default name 
pattern for atom expressions of Calcite internal, i agree that "min(e.empid)" 
is a better name.

For most of the cases, a default name like "EXPR$1" is enough because in a 
plan, this name would reference a real expression, but for console output, a 
direct expression digest seems more readable.

The way i can think of to fix this issue is use a Shuttle to modify the plan 
with the alias you want, but be caution that you should quotes the alias 
because it may have invalid identifier characters.

> Incorrect output field names from jdbc
> --------------------------------------
>
>                 Key: CALCITE-3261
>                 URL: https://issues.apache.org/jira/browse/CALCITE-3261
>             Project: Calcite
>          Issue Type: Improvement
>          Components: core, jdbc-adapter
>            Reporter: Xiaoguang zhang
>            Priority: Major
>
> After implementing the missing `print(ResultSet)` method from the examples in 
> Calcite [tutorial|[https://calcite.apache.org/docs/index.html]], I found that 
> the output field names are incorrect:
> {code:java}
> [deptno, EXPR$1]
> [1, 1]
> [2, 2]
> {code}
> The field name `EXPR$1` can be improved to be more human readable like MySQL 
> client:
> {code:java}
> +--------+--------------+
> | deptno | min(e.empid) |
> +--------+--------------+
> |      1 |            1 |
> |      2 |            2 |
> +--------+--------------+
> {code}
>  
> PS: the sql statement generating the above outputs:
> {code:sql}
> select d.deptno, min(e.empid) from hr.emps as e join hr.depts as d on 
> e.deptno = d.deptno group by d.deptno having count(*) > 1
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Reply via email to