You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "godfrey he (JIRA)" <ji...@apache.org> on 2017/03/31 02:28:41 UTC

[jira] [Created] (CALCITE-1732) Get IndexOutOfBoundsException when using LATERAL TABLE with more than one fields

godfrey he created CALCITE-1732:
-----------------------------------

             Summary: Get IndexOutOfBoundsException when using LATERAL TABLE with more than one fields
                 Key: CALCITE-1732
                 URL: https://issues.apache.org/jira/browse/CALCITE-1732
             Project: Calcite
          Issue Type: Bug
          Components: core
            Reporter: godfrey he
            Assignee: Julian Hyde


add a test case in {{SqlToRelConverterTest}}
{code}
@Test public void testCollectionTableWithLateral3() {
    sql("select * from dept, lateral table(DEDUP(dept.deptno, dept.name))").ok();
  }
{code}

I get an exception:

java.lang.IndexOutOfBoundsException: Index: 1, Size: 1

  at java.util.ArrayList.rangeCheck(ArrayList.java:635)
  at java.util.ArrayList.get(ArrayList.java:411)
  at org.apache.calcite.sql2rel.SqlToRelConverter$LookupContext.findRel(SqlToRelConverter.java:4894)
  at org.apache.calcite.sql2rel.SqlToRelConverter$Blackboard.lookup(SqlToRelConverter.java:4122)
  at org.apache.calcite.sql2rel.SqlToRelConverter$Blackboard.lookupExp(SqlToRelConverter.java:4072)
  at org.apache.calcite.sql2rel.SqlToRelConverter.convertIdentifier(SqlToRelConverter.java:3419)
  at org.apache.calcite.sql2rel.SqlToRelConverter.access$1800(SqlToRelConverter.java:207)
  at org.apache.calcite.sql2rel.SqlToRelConverter$Blackboard.visit(SqlToRelConverter.java:4435)
  at org.apache.calcite.sql2rel.SqlToRelConverter$Blackboard.visit(SqlToRelConverter.java:3794)
  at org.apache.calcite.sql.SqlIdentifier.accept(SqlIdentifier.java:344)
  at org.apache.calcite.sql2rel.SqlToRelConverter$Blackboard.convertExpression(SqlToRelConverter.java:4328)
  at org.apache.calcite.sql2rel.StandardConvertletTable$11.convertCall(StandardConvertletTable.java:257)
  at org.apache.calcite.sql2rel.SqlNodeToRexConverterImpl.convertCall(SqlNodeToRexConverterImpl.java:61)
  at org.apache.calcite.sql2rel.SqlToRelConverter$Blackboard.visit(SqlToRelConverter.java:4426)
  at org.apache.calcite.sql2rel.SqlToRelConverter$Blackboard.visit(SqlToRelConverter.java:3794)
  at org.apache.calcite.sql.SqlCall.accept(SqlCall.java:137)
  at org.apache.calcite.sql2rel.SqlToRelConverter$Blackboard.convertExpression(SqlToRelConverter.java:4328)
  at org.apache.calcite.sql2rel.SqlToRelConverter.convertSelectList(SqlToRelConverter.java:3634)
  at org.apache.calcite.sql2rel.SqlToRelConverter.convertSelectImpl(SqlToRelConverter.java:659)
  at org.apache.calcite.sql2rel.SqlToRelConverter.convertSelect(SqlToRelConverter.java:616)
  at org.apache.calcite.sql2rel.SqlToRelConverter.convertQueryRecursive(SqlToRelConverter.java:2951)
  at org.apache.calcite.sql2rel.SqlToRelConverter.convertQuery(SqlToRelConverter.java:552)
  at org.apache.calcite.test.SqlToRelTestBase$TesterImpl.convertSqlToRel(SqlToRelTestBase.java:564)
  at org.apache.calcite.test.SqlToRelTestBase$TesterImpl.assertConvertsTo(SqlToRelTestBase.java:673)
  at org.apache.calcite.test.SqlToRelConverterTest$Sql.convertsTo(SqlToRelConverterTest.java:2413)
  at org.apache.calcite.test.SqlToRelConverterTest$Sql.ok(SqlToRelConverterTest.java:2409)
  at org.apache.calcite.test.SqlToRelConverterTest.testCollectionTableWithLateral3(SqlToRelConverterTest.java:896)




--
This message was sent by Atlassian JIRA
(v6.3.15#6346)