Julian Hyde created CALCITE-4038:
------------------------------------

             Summary: Refactor RexVisitor, RexBiVisitor, RelOptUtil.InputFinder
                 Key: CALCITE-4038
                 URL: https://issues.apache.org/jira/browse/CALCITE-4038
             Project: Calcite
          Issue Type: Bug
            Reporter: Julian Hyde


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}}.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to