You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Vladimir Sitnikov (JIRA)" <ji...@apache.org> on 2014/11/24 10:51:12 UTC
[jira] [Created] (CALCITE-479) Migrate RelNode.getChildExps to
RelNode.acept(RexShuttle)
Vladimir Sitnikov created CALCITE-479:
-----------------------------------------
Summary: Migrate RelNode.getChildExps to RelNode.acept(RexShuttle)
Key: CALCITE-479
URL: https://issues.apache.org/jira/browse/CALCITE-479
Project: Calcite
Issue Type: Bug
Affects Versions: 1.0.0-incubating
Reporter: Vladimir Sitnikov
Assignee: Julian Hyde
> What if we kill RelNode.getChildExps and add RelNode
> RelNode.accept(RexShuttle shuttle) instead?
{quote}[~julianhyde]
+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.
{quote}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)