Andrew Lamb created ARROW-11710: ----------------------------------- Summary: [Rust][DataFusion] Implement ExprRewriter to avoid tree traversal redundancy Key: ARROW-11710 URL: https://issues.apache.org/jira/browse/ARROW-11710 Project: Apache Arrow Issue Type: Sub-task Reporter: Andrew Lamb
The idea is to 1. Reduce the amount repetitions in optimizer rules to make them easier to implement 2. Reduce the amount of repetition to make it easier to see the actual logic (rather than having it intertwined with the code needed to do recursion) 2. Set the stage for a more general `PlanRewriter` that doesn't have to clone its input, and can modify take their input by value and consume them Plan is to make an ExprRewriter, the mutable counterpart to `ExpressionVisitor` and demonstrates its usefulness by rewriting several expression transformation rewrite passes using it. -- This message was sent by Atlassian Jira (v8.3.4#803005)