> I don't know when it is safe to combine variables and when you need to define > new ones Yes, that is a problem What if we kill RelNode.getChildExps and add RelNode RelNode.accept(RexShuttle shuttle) instead?
This will result in: 1) Method RelNode.getChildExps will become less restrictive 2) RexShuttle transformations would become possible for RelNodes 3) New method would be consistent with RelNode RelNode.accept(RelShuttle) 4) AbstracRelNode.accept(RexShuttle) would be just "return this;". Vladimir
