Uploaded image for project: 'Apache Arrow'
  1. Apache Arrow
  2. ARROW-11689 [Rust][DataFusion] Reduce copies in DataFusion LogicalPlan and Expr creation
  3. ARROW-11710

[Rust][DataFusion] Implement ExprRewriter to avoid tree traversal redundancy

    XMLWordPrintableJSON

Details

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

              alamb Andrew Lamb
              alamb Andrew Lamb
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 1h 50m
                  1h 50m