Konstantin Orlov created CALCITE-7057: -----------------------------------------
Summary: NPE when converting 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 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)