You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by "Teruyoshi Zenmyo (JIRA)" <ji...@apache.org> on 2018/06/15 05:20:00 UTC

[jira] [Created] (CALCITE-2363) Refactor RelShuttle not to depend on structures of RelNodes

Teruyoshi Zenmyo created CALCITE-2363:
-----------------------------------------

             Summary: Refactor RelShuttle not to depend on structures of RelNodes
                 Key: CALCITE-2363
                 URL: https://issues.apache.org/jira/browse/CALCITE-2363
             Project: Calcite
          Issue Type: Improvement
            Reporter: Teruyoshi Zenmyo
            Assignee: Julian Hyde


Currently, RelShuttle implementations depends on the structures of RelNodes.

For instance, RelShuttleImp.visit(LogicalAggregate aggregate) knows the first element of getInput() is the next element to be visited. 

[https://github.com/apache/calcite/blob/master/core/src/main/java/org/apache/calcite/rel/RelShuttleImpl.java#L75]

 

By this refactoring, implementations of RelShuttle will become free from invoking super.visit methods.

https://github.com/apache/calcite/blob/master/core/src/main/java/org/apache/calcite/sql2rel/CorrelationReferenceFinder.java#L61



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)