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

ASF GitHub Bot updated CALCITE-7057:
------------------------------------
    Labels: pull-request-available  (was: )

> NPE when decorrelating query containing nested correlated subqueries
> --------------------------------------------------------------------
>
>                 Key: CALCITE-7057
>                 URL: https://issues.apache.org/jira/browse/CALCITE-7057
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.40.0
>            Reporter: Konstantin Orlov
>            Priority: Major
>              Labels: pull-request-available
>
> If SELECT list contains nested correlated subqueries, then AssertionError is 
> thrown from {{RelDecorrelator}}:
> {code:java}
> // add following test case to core/src/test/resources/sql/scalar.iq
> # Nested scalar sub-queries
> select
>     (select ename || ' from dept '
>                   || (select dname from dept where deptno = emp.deptno and 
> emp.empno = empnos.empno)
>        from emp
>     ) as ename_from_dept
>   from (values (7369), (7499)) as empnos(empno) order by 1;
> +----------+
> | EMP_NAME |
> +----------+
> | ALLEN    |
> | SMITH    |
> +----------+
> (2 rows)
> !ok
> // Throws following error (only part of the last "Caused by" presented for 
> brevity)
> Caused by: java.lang.NullPointerException: cm.mapCorToCorRel.get($cor0)
>       at java.base/java.util.Objects.requireNonNull(Objects.java:334)
>       at 
> org.apache.calcite.sql2rel.RelDecorrelator.getCorRel(RelDecorrelator.java:1152)
>       at 
> org.apache.calcite.sql2rel.RelDecorrelator.createValueGenerator(RelDecorrelator.java:1046)
>       at 
> org.apache.calcite.sql2rel.RelDecorrelator.decorrelateInputWithValueGenerator(RelDecorrelator.java:1252)
>       at 
> org.apache.calcite.sql2rel.RelDecorrelator.maybeAddValueGenerator(RelDecorrelator.java:1171)
>       at 
> org.apache.calcite.sql2rel.RelDecorrelator.decorrelateRel(RelDecorrelator.java:1377)
>       at 
> org.apache.calcite.sql2rel.RelDecorrelator.decorrelateRel(RelDecorrelator.java:1343)
>       at jdk.internal.reflect.GeneratedMethodAccessor16.invoke(Unknown Source)
> {code}



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

Reply via email to