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

Jess Balint updated CALCITE-4512:
---------------------------------
    Description: 
{code:java}
String sql = "select replace(name, 'a', 'b') as name from users group by 
replace(name, 'a', 'b')";
{code}
 

when group by expression has argument name same with select list item alias, 
the group by argument will be expanded to select list item when sql conformance 
supports 'groupByAlias', so the above sql will be expanded to 
{code:java}
String sql = "select replace(name, 'a', 'b') as name from users group by 
replace(replace(name, 'a', 'b'), 'a', 'b')";
{code}
 

this is unexpected.

  was:
String sql = "select replace(name, 'a', 'b') as name from users group by 
replace(name, 'a', 'b')";

 

when group by expression has argument name same with select list item alias, 
the group by argument will be expanded to select list item when sql conformance 
supports 'groupByAlias', so the above sql will be expanded to 

String sql = "select replace(name, 'a', 'b') as name from users group by 
replace(replace(name, 'a', 'b'), 'a', 'b')";

 

this is unexpected.


> GROUP BY expression with argument name same with SELECT field and alias 
> causes validation error
> -----------------------------------------------------------------------------------------------
>
>                 Key: CALCITE-4512
>                 URL: https://issues.apache.org/jira/browse/CALCITE-4512
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.26.0
>         Environment: jvm: open-jdk8
>            Reporter: yanjing.wang
>            Assignee: yanjing.wang
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.33.0
>
>          Time Spent: 2h 40m
>  Remaining Estimate: 0h
>
> {code:java}
> String sql = "select replace(name, 'a', 'b') as name from users group by 
> replace(name, 'a', 'b')";
> {code}
>  
> when group by expression has argument name same with select list item alias, 
> the group by argument will be expanded to select list item when sql 
> conformance supports 'groupByAlias', so the above sql will be expanded to 
> {code:java}
> String sql = "select replace(name, 'a', 'b') as name from users group by 
> replace(replace(name, 'a', 'b'), 'a', 'b')";
> {code}
>  
> this is unexpected.



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

Reply via email to