[ https://issues.apache.org/jira/browse/CALCITE-7009?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Konstantin Orlov reassigned CALCITE-7009: ----------------------------------------- Assignee: Konstantin Orlov > AssertionError when converting query containing multiple correlated > subqueries referencing different tables in FROM > ------------------------------------------------------------------------------------------------------------------- > > Key: CALCITE-7009 > URL: https://issues.apache.org/jira/browse/CALCITE-7009 > Project: Calcite > Issue Type: Bug > Components: core > Affects Versions: 1.39.0 > Reporter: Konstantin Orlov > Assignee: Konstantin Orlov > Priority: Major > > If SELECT list contains several correlated subqueries referencing different > tables in FROM list, then AssertionError is thrown during sql-to-rel > conversion phase: > {code} > // org.apache.calcite.test.SqlToRelConverterTest > @Test void > testMultipleCorrelatedSubQueriesInSelectReferencingDifferentTablesInFrom() { > final String sql = "select\n" > + "(select ename from emp where empno = empnos.empno) as emp_name,\n" > + "(select name from dept where deptno = deptnos.deptno) as > dept_name\n" > + " from (values (1), (2)) as empnos(empno), (values (1), (2)) as > deptnos(deptno)"; > sql(sql).withExpand(false).ok(); > } > // Throws following error > java.lang.AssertionError: All correlation variables should resolve to the > same namespace. Prev > ns=org.apache.calcite.sql.validate.AliasNamespace@2b3c7f6, new > ns=org.apache.calcite.sql.validate.AliasNamespace@2803f6c9 > at > org.apache.calcite.sql2rel.SqlToRelConverter.getCorrelationUse(SqlToRelConverter.java:3147) > at > org.apache.calcite.sql2rel.SqlToRelConverter.convertNonAggregateSelectList(SqlToRelConverter.java:4843) > at > org.apache.calcite.sql2rel.SqlToRelConverter.convertSelectList(SqlToRelConverter.java:4765) > at > org.apache.calcite.sql2rel.SqlToRelConverter.convertSelectImpl(SqlToRelConverter.java:809) > at > org.apache.calcite.sql2rel.SqlToRelConverter.convertSelect(SqlToRelConverter.java:735) > at > org.apache.calcite.sql2rel.SqlToRelConverter.convertQueryRecursive(SqlToRelConverter.java:3939) > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)