You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Aman Sinha (JIRA)" <ji...@apache.org> on 2015/01/26 01:11:34 UTC
[jira] [Created] (CALCITE-569) ArrayIndexOutOfBoundException when
deducing collation
Aman Sinha created CALCITE-569:
----------------------------------
Summary: ArrayIndexOutOfBoundException when deducing collation
Key: CALCITE-569
URL: https://issues.apache.org/jira/browse/CALCITE-569
Project: Calcite
Issue Type: Bug
Affects Versions: 1.0.0-incubating
Reporter: Aman Sinha
Assignee: Julian Hyde
If a subquery has an ORDER BY on a column that is not in the SELECT list and the outer query does another ORDER BY, Calcite encounters an ArrayIndexOutOfBoundException when deducing collation.
In PlannerTest, I created a simple test by first adding the following traits:
{code}
List<RelTraitDef> traitDefs = new ArrayList<RelTraitDef>();
traitDefs.add(ConventionTraitDef.INSTANCE);
traitDefs.add(RelCollationTraitDef.INSTANCE);
{code}
And ran the following query:
{code}
select t.psPartkey from (select ps.psPartkey from `tpch`.`partsupp` ps order by ps.psSupplyCost) t order by t.psPartkey"
{code}
{code}
java.lang.ArrayIndexOutOfBoundsException: -1
at org.apache.calcite.rex.RexProgram.deduceCollations(RexProgram.java:589)
at org.apache.calcite.rex.RexProgram.getCollations(RexProgram.java:558)
at org.apache.calcite.plan.RelOptUtil.createProject(RelOptUtil.java:2685)
at org.apache.calcite.plan.RelOptUtil.createProject(RelOptUtil.java:2623)
at org.apache.calcite.sql2rel.SqlToRelConverter.convertSelectList(SqlToRelConverter.java:3571)
at org.apache.calcite.sql2rel.SqlToRelConverter.convertSelectImpl(SqlToRelConverter.java:613)
at org.apache.calcite.sql2rel.SqlToRelConverter.convertSelect(SqlToRelConverter.java:568)
at org.apache.calcite.sql2rel.SqlToRelConverter.convertQueryRecursive(SqlToRelConverter.java:2929)
at org.apache.calcite.sql2rel.SqlToRelConverter.convertQuery(SqlToRelConverter.java:526)
at org.apache.calcite.prepare.PlannerImpl.convert(PlannerImpl.java:189)
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)