Julian Hyde created CALCITE-7430:
------------------------------------

             Summary: 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


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