The idea is to
-
Reduce the amount repetitions in optimizer rules to make them easier to implement
-
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)
-
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.
Reporter: Andrew Lamb / @alamb
Assignee: Andrew Lamb / @alamb
Related issues:
PRs and other links:
Note: This issue was originally created as ARROW-11710. Please see the migration documentation for further details.