[ 
https://issues.apache.org/jira/browse/CALCITE-7430?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18063319#comment-18063319
 ] 

Julian Hyde commented on CALCITE-7430:
--------------------------------------

Here's one more case that throws the same error:
{noformat}
# testDecorrelationWithSort ----------------------------------------------------
# Decorrelator produces the same result as the original after sorting.

SELECT e1.empno
FROM emp e1, dept d1
where e1.deptno = d1.deptno
and e1.deptno < 10 and d1.deptno < 15
and e1.sal > (select avg(sal) from emp e2 where e1.empno = e2.empno)
order by e1.empno;
+-------+
| EMPNO |
+-------+
+-------+
(0 rows)

!ok {noformat}

> 3 queries in RelOptRulesTest fail due to TopDownGeneralDecorrelator bugs
> ------------------------------------------------------------------------
>
>                 Key: CALCITE-7430
>                 URL: https://issues.apache.org/jira/browse/CALCITE-7430
>             Project: Calcite
>          Issue Type: Bug
>            Reporter: Julian Hyde
>            Assignee: Silun Dong
>            Priority: Major
>
> I had to disable the '!ok' command in three tests added as part of 
> CALCITE-7420 because they failed in CoreQuidemTest2 (even though they worked 
> in CoreQuidemTest). Presumably these are bugs in 
> {{TopDownGeneralDecorrelator}}.
>  
> The tests are visible in the 
> [julianhyde/7420-rule-test|https://github.com/julianhyde/calcite/tree/7420-rule-test]
>  branch, or you can run the following queries:
> {noformat}
> # testFilterIntoJoinMissingVariableCor (in filter-into-join.iq)
> SELECT E.EMPNO
> FROM EMP E
> JOIN DEPT D ON E.DEPTNO = D.DEPTNO
> WHERE E.EMPNO > 10 AND D.DEPTNO = (
>     SELECT MIN(D_INNER.DEPTNO)
>     FROM DEPT D_INNER
>     WHERE D_INNER.DEPTNO = E.DEPTNO);
> # testCorrelationScalarAggAndFilter (in reduce-expressions.iq)
> SELECT e1.empno
> FROM emp e1,
>   dept d1
> where e1.deptno = d1.deptno
> and e1.deptno < 10 and d1.deptno < 15
> and e1.sal > (select avg(sal) from emp e2 where e1.empno = e2.empno);
> # testAnyInProjectNullable (in filter-sub-query-to-correlate.iq)
> select deptno, dname = ANY (
>   select mgr from emp) as b
> from dept;
> {noformat}
>  
> The first two give "{{java.lang.AssertionError: Correlation variable $cor0 
> should be defined at 
> org.apache.calcite.adapter.enumerable.EnumerableRelImplementor.getCorrelVariableGetter(EnumerableRelImplementor.java:476)}}";
>  the third gives "{{java.lang.RuntimeException: while resolving method 
> 'eq[class java.lang.String, short]' in class class 
> org.apache.calcite.runtime.SqlFunctions}}".



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

Reply via email to