[
https://issues.apache.org/jira/browse/CALCITE-4512?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17335098#comment-17335098
]
yanjing.wang edited comment on CALCITE-4512 at 4/29/21, 6:23 AM:
-----------------------------------------------------------------
thanks, Mentioning PostgreSQL is based on original comments but I haven't
proven. I have removed the comments and refined the GROUP BY ordinal
substitution, and I run a test on MySQL for *select empno as deptno from emp
group by deptno.* MySQL throws when sql_mode is ONLY_FULL_GROUP_BY which is the
default mode, otherwise passes. I wonder BigQuery may support executing with
partial GROUP BY same with MySQL, so it may not substitute.
was (Author: yanjing.wang):
thanks, Mentioning PostgreSQL is based on original comments but I haven't
proven. I have removed the comments and fixed the GROUP BY ordinal
substitution, and I run a test on MySQL for *select empno as deptno from emp
group by deptno.* MySQL throws when sql_mode is ONLY_FULL_GROUP_BY which is the
default mode, otherwise passes. I wonder BigQuery may support executing with
partial GROUP BY same with MySQL, so it may not substitute.
> group by expression has argument name same with select list item 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
> Priority: Major
> Labels: pull-request-available
> Time Spent: 50m
> Remaining Estimate: 0h
>
> 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.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)