Uploaded image for project: 'Calcite'
  1. Calcite
  2. CALCITE-4038

Refactor RexVisitor, RexBiVisitor, RelOptUtil.InputFinder

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.24.0
    • Component/s: None
    • Labels:
      None

      Description

      Various improvements to RexVisitor, RexBiVisitor, RelOptUtil.InputFinder  classes.

      1. Make mutable field RelOptUtil.InputFinder.inputBitSet private. The field still exists, public and deprecated, but it shadows a new private field. Rather than calling InputFinder.inputBitSet.build() you should now call InputFinder.build().

      2. In RexVisitor and RexBiVisitor add methods visitList and visitEach (the former returns a list, and the latter returns void).

      3. Deprecate RexShuttle.apply in favor of visitList.

      4. Add RexWindowBound.accept(RexBiVisitor).

      5. For RexBiVisitor<X, Integer> add a method visitEachIndexed, the index passed as the 'payload' argument.

      6. Add abstract implementations of RexBiVisitor: RexUnaryBiVisitor and RexBiVisitorImpl.

        Attachments

          Activity

            People

            • Assignee:
              julianhyde Julian Hyde
              Reporter:
              julianhyde Julian Hyde
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: