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

Migrate RelNode.getChildExps to RelNode.accept(RexShuttle)

    Details

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

      Description

      > What if we kill RelNode.getChildExps and add RelNode
      > RelNode.accept(RexShuttle shuttle) instead?

      Julian Hyde
      +1 That method is very general-purpose. I like it.

      It should respect the immutability of RelNodes and return a new
      RelNode iff there are changes. Most RelNodes, except sub-classes of
      project, filter, join, will just 'return this' right away.

      The shuttle must make only very limited changes. Even changing the
      output type of an expression should not be allowed. We can relax these
      restrictions later, if justified.

        Activity

        Show
        julianhyde Julian Hyde added a comment - Fixed in http://git-wip-us.apache.org/repos/asf/incubator-calcite/commit/288254b2 .
        Hide
        julianhyde Julian Hyde added a comment -

        Closing now that 1.0.0-incubating has been released.

        Show
        julianhyde Julian Hyde added a comment - Closing now that 1.0.0-incubating has been released.

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development