Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.19.0
-
None
Description
Materialized views enabled:
- select avg(grade), count(*), max(grade), sum(grade), min(grade), team from students group by team
- select avg(grade), count(*), max(grade), sum(grade), min(grade), team, faculty from students group by faculty, team,
Query:
- select count(*), team from students group by team
Error (stacktrace is obtained using the current master branch: "247c7d4f76"):
Caused by: java.lang.ArrayIndexOutOfBoundsException: 2 at com.google.common.collect.RegularImmutableList.get(RegularImmutableList.java:60) at org.apache.calcite.rex.RexBuilder.makeInputRef(RexBuilder.java:841) at org.apache.calcite.rel.rules.AbstractMaterializedViewRule$MaterializedViewAggregateRule.rewriteView(AbstractMaterializedViewRule.java:1507) at org.apache.calcite.rel.rules.AbstractMaterializedViewRule.perform(AbstractMaterializedViewRule.java:522) at org.apache.calcite.rel.rules.AbstractMaterializedViewRule$MaterializedViewProjectAggregateRule.onMatch(AbstractMaterializedViewRule.java:1776) at org.apache.calcite.plan.volcano.VolcanoRuleCall.onMatch(VolcanoRuleCall.java:208) ... 71 common frames omitted
Reproducible only if both Materialization views listed are enabled: any single one of these two could be successfully used with the query without any errors. Looks like is is reproducible when AbstractMaterializedViewRule is trying to rewrite one materialized view using the another materialized view.
Currently, I'm trying to reproduce the issue in "MaterializationTest": without a success so far, I'll update the ticket if I'll find a working way to reproduce the issue in the test will be discovered.
Attachments
Issue Links
- relates to
-
CALCITE-3060 Materialized view: "target out of range" error
- Closed
- links to