Hi Piotr, Aggregate is not doing anything in #accept(RexShuttle) since it does not contain row expressions (RexNode). If the node you introduce uses row expressions then it makes sense to apply the shuttle to every expression.
Best, Stamatis Στις Πέμ, 31 Ιαν 2019 στις 5:39 μ.μ., ο/η Piotr Nowojski < [email protected]> έγραψε: > Hi! > > We are adding a new custom RelNode, that behaves a little bit like > Aggregate node and we are wondering how we should implement > > RelNode#accept(org.apache.calcite.rex.RexShuttle) > > Our node has a similar feature as Aggregate node, that it’s keying by the > incoming data. At first I thought that this #accept() method should be > implemented by applying the RexShuttle to all of the expressions that node > is using internally (in our case key fields “expressions”/“references"), > like it’s done in Join, Sort, Filter, …. But then I noticed that this > method is not implemented for Aggregate node. So can we leave this method > with the default implementation `return this;` as Aggregate node does it? > > Thanks, Piotr Nowojski
