> Is there a way to identify a node as being a root node during RelRule.match?
Not currently. One workaround would be to create 'class MyRoot extends SingleRel', add it as the root of the tree, and write your rules to match on it. > Or more generally, is there a way to collect the parents of an arbitrary > RelNode? By design, the only way to find the parents of a RelNode are to write a rule that matches those parents. This ensures that rules will work in the Volcano planner, where a RelNode can have many parents. Julian On Mon, May 3, 2021 at 12:52 PM Ian Bertolacci <[email protected]> wrote: > > Hello, > I am trying to write a rule that matches (among other things) the root of a > RelNode tree. > > Unfortunately, it seems that HepRuleCall.parents is only initialized and > populated if the rule extends CommonRelSubExpr, which doesn’t really apply in > my case. > (see: > https://github.com/apache/calcite/blob/master/core/src/main/java/org/apache/calcite/plan/hep/HepPlanner.java#L526) > > Is there a way to identify a node as being a root node during RelRule.match? > Or more generally, is there a way to collect the parents of an arbitrary > RelNode? > > Thanks.
