Description
Bug in new materialized view rewriting rule initially caught by coverity scan:
/core/src/main/java/org/apache/calcite/rel/rules/AbstractMaterializedViewRule.java: 950 in org.apache.calcite.rel.rules.AbstractMaterializedViewRule.generateTableMappings(com.google.common.collect.Multimap)() 944 } 945 result.add(HashBiMap.<RelTableRef, RelTableRef>create()); 946 for (Entry<RelTableRef, Collection<RelTableRef>> e : multiMapTables.asMap().entrySet()) { 947 boolean added = false; 948 for (RelTableRef target : e.getValue()) { 949 if (added) { CID 144066: API usage errors (INVALIDATE_ITERATOR) Attempting to obtain another element from "result" after it's been modified. 950 for (BiMap<RelTableRef, RelTableRef> m : result) { 951 final BiMap<RelTableRef, RelTableRef> newM = 952 HashBiMap.<RelTableRef, RelTableRef>create(m); 953 newM.put(e.getKey(), target); 954 result.add(newM); 955 }
Attachments
Issue Links
- is broken by
-
CALCITE-1731 Rewriting of queries using materialized views with joins and aggregates
-
- Closed
-