[ https://issues.apache.org/jira/browse/CALCITE-952?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14990218#comment-14990218 ]
Julian Hyde commented on CALCITE-952: ------------------------------------- Could MaterializationTest.ListComparator be replaced with Guava's Orderings.lexicographical()? > Organize applicable materializations in reversed topological order > ------------------------------------------------------------------ > > Key: CALCITE-952 > URL: https://issues.apache.org/jira/browse/CALCITE-952 > Project: Calcite > Issue Type: Improvement > Reporter: Maryann Xue > Assignee: Maryann Xue > Attachments: CALCITE-952.patch > > > With CALCITE-890, we now try applying each materialization with all possible > substitution combinations. And this works fine if all applicable > materializations are independent of each other. But with dependent > materializations, the order of materializations in which we perform > substitution matters. > For example, if we have tables {{A}} and {{B}}, a materialization table {{C}} > that uses {{A}}, and another materialization table {{D}} that uses tables > {{C}} and {{B}}. Thus, we should apply materialization {{C}} before applying > materialization {{D}}. > Right now we output the applicable materialization list as we iterate through > the input materialization list which could be of random order (and it > actually is). A directed graph is used to find all the applicable > materializations, but we can also take advantage of this graph to organize > them in the desired order. -- This message was sent by Atlassian JIRA (v6.3.4#6332)