You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Konstantin Orlov (Jira)" <ji...@apache.org> on 2025/05/12 13:55:00 UTC
[jira] [Created] (CALCITE-7009) AssertionError when converting query containing multiple correlated subqueries referencing different tables in FROM
Konstantin Orlov created CALCITE-7009:
-----------------------------------------
Summary: 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
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)