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

Mihai Budiu resolved CALCITE-7193.
----------------------------------
    Fix Version/s: 1.41.0
       Resolution: Fixed

Fixed in 
[https://github.com/apache/calcite/commit/9014934d8c24a5242a6840efe20134e820426c24]

Thank you for the review [~jensen]

> In an aggregation validator treats lambda variable names as column names
> ------------------------------------------------------------------------
>
>                 Key: CALCITE-7193
>                 URL: https://issues.apache.org/jira/browse/CALCITE-7193
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.40.0
>            Reporter: Mihai Budiu
>            Assignee: Mihai Budiu
>            Priority: Minor
>              Labels: pull-request-available
>             Fix For: 1.41.0
>
>
> This produces validation errors for legal queries:
> {code:sql}
> SELECT "EXISTS"(ARRAY_AGG(empno), x -> x > 1) AS B FROM emp GROUP BY deptno
> {code}
> leads to 
> {code}
> org.apache.calcite.sql.validate.SqlValidatorException: Expression 'X' is not 
> being grouped
>       at 
> java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:67)
>       at 
> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
>       at 
> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:484)
>       at 
> org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:511)
>       at org.apache.calcite.runtime.Resources$ExInst.ex(Resources.java:605)
>       at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:960)
>       at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:945)
>       at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError(SqlValidatorImpl.java:5960)
>       at org.apache.calcite.sql.validate.AggChecker.visit(AggChecker.java:136)
>       at org.apache.calcite.sql.validate.AggChecker.visit(AggChecker.java:43)
>       at org.apache.calcite.sql.SqlIdentifier.accept(SqlIdentifier.java:324)
>       at 
> org.apache.calcite.sql.util.SqlBasicVisitor.visit(SqlBasicVisitor.java:54)
> {code}
> Clearly, AggChecker should treat lambda parameters differently.



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

Reply via email to