[
https://issues.apache.org/jira/browse/CALCITE-2799?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16750027#comment-16750027
]
Arina Ielchiieva commented on CALCITE-2799:
-------------------------------------------
[~vladimirsitnikov] no, my changes do not change default Calcite behavior, they
will be applicable only for MYSQL_5, LENIENT, BABEL conformance levels which
already support alias in having clause (the same syntax as used in your SQL:
https://github.com/apache/calcite/blob/f3655e15a11a9fb266af290cb390e690d4301c09/core/src/test/java/org/apache/calcite/test/SqlToRelConverterTest.java#L299).
My changes only added support for the case with aggregate functions {{select
empno as e from emp group by e having count(e) > 1}} for the 3 mentioned above
conformance levels.
> Allow alias in having clause for aggregate functions
> ----------------------------------------------------
>
> Key: CALCITE-2799
> URL: https://issues.apache.org/jira/browse/CALCITE-2799
> Project: Calcite
> Issue Type: Bug
> Affects Versions: 1.18.0
> Reporter: Arina Ielchiieva
> Assignee: Julian Hyde
> Priority: Major
> Fix For: 1.19.0
>
>
> Currently alias is not allowed in having for aggregate functions.
> MySql supports such cases and taking into account that alias in having clause
> is allowed only for the following conformance levels: MYSQL_5, LENIENT,
> BABEL, it makes sense to allow alias in having for aggregate functions.
> {noformat}
> /**
> * Whether to allow aliases from the {@code SELECT} clause to be used as
> * column names in the {@code HAVING} clause.
> *
> * <p>Among the built-in conformance levels, true in
> * {@link SqlConformanceEnum#BABEL},
> * {@link SqlConformanceEnum#LENIENT},
> * {@link SqlConformanceEnum#MYSQL_5};
> * false otherwise.
> */
> boolean isHavingAlias();
> {noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)