You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Julian Hyde (Jira)" <ji...@apache.org> on 2020/06/11 20:06:00 UTC

[jira] [Resolved] (CALCITE-4038) Refactor RexVisitor, RexBiVisitor, RelOptUtil.InputFinder

     [ https://issues.apache.org/jira/browse/CALCITE-4038?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Julian Hyde resolved CALCITE-4038.
----------------------------------
    Fix Version/s: 1.24.0
       Resolution: Fixed

Fixed in [59d6eb85|https://github.com/apache/calcite/commit/59d6eb852676ab5d77eccd63f488c9f121804d5d].

> 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
>            Assignee: Julian Hyde
>            Priority: Major
>             Fix For: 1.24.0
>
>
> 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)