[ 
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)

Reply via email to