Add test case for [CALCITE-685] Currently throws AssertionError: "Correlation variable $cor0 should be defined" in EnumerableRelImplementor.getCorrelVariableGetter.
Project: http://git-wip-us.apache.org/repos/asf/calcite/repo Commit: http://git-wip-us.apache.org/repos/asf/calcite/commit/ee289e4f Tree: http://git-wip-us.apache.org/repos/asf/calcite/tree/ee289e4f Diff: http://git-wip-us.apache.org/repos/asf/calcite/diff/ee289e4f Branch: refs/heads/master Commit: ee289e4f42ad9e3a36d9c80a01cf3df86393bd8f Parents: 34997ad Author: Julian Hyde <[email protected]> Authored: Mon Feb 13 17:56:56 2017 -0800 Committer: Julian Hyde <[email protected]> Committed: Wed Feb 22 22:17:37 2017 -0800 ---------------------------------------------------------------------- .../java/org/apache/calcite/test/JdbcTest.java | 26 ++++++++++++++++++++ 1 file changed, 26 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/calcite/blob/ee289e4f/core/src/test/java/org/apache/calcite/test/JdbcTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/calcite/test/JdbcTest.java b/core/src/test/java/org/apache/calcite/test/JdbcTest.java index cda40c3..28fcf00 100644 --- a/core/src/test/java/org/apache/calcite/test/JdbcTest.java +++ b/core/src/test/java/org/apache/calcite/test/JdbcTest.java @@ -4779,6 +4779,32 @@ public class JdbcTest { .returnsCount(599); } + /** Test case for + * <a href="https://issues.apache.org/jira/browse/CALCITE-685">[CALCITE-685] + * Correlated scalar sub-query in SELECT clause throws</a>. */ + @Ignore("[CALCITE-685]") + @Test public void testCorrelatedScalarSubQuery() throws SQLException { + final String sql = "select e.department_id, sum(e.employee_id),\n" + + " ( select sum(e2.employee_id)\n" + + " from employee e2\n" + + " where e.department_id = e2.department_id\n" + + " )\n" + + "from employee e\n" + + "group by e.department_id\n"; + final String explain = "EnumerableJoin(condition=[true], joinType=[left])\n" + + " EnumerableAggregate(group=[{7}], EXPR$1=[$SUM0($0)])\n" + + " EnumerableTableScan(table=[[foodmart2, employee]])\n" + + " EnumerableAggregate(group=[{}], EXPR$0=[SUM($0)])\n" + + " EnumerableCalc(expr#0..16=[{inputs}], expr#17=[$cor0], expr#18=[$t17.department_id], expr#19=[=($t18, $t7)], employee_id=[$t0], department_id=[$t7], $condition=[$t19])\n" + + " EnumerableTableScan(table=[[foodmart2, employee]])\n"; + CalciteAssert.that() + .with(CalciteAssert.Config.FOODMART_CLONE) + .with(Lex.JAVA) + .query(sql) + .explainContains(explain) + .returnsCount(0); + } + @Test public void testLeftJoin() { CalciteAssert.hr() .query("select e.\"deptno\", d.\"deptno\"\n"
