[
https://issues.apache.org/jira/browse/CALCITE-3875?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17066951#comment-17066951
]
Julian Hyde commented on CALCITE-3875:
--------------------------------------
I agree that such a utility would be useful. However, it will be messy and will
have a lot of dependencies, so I think it should live with the test code (e.g.
next to {{class TestUtil}}). I'm not sure that a classic visitor would work -
we'd have to add a lot of junky code to the RelNode classes. Probably a utility
with a big "switch", or dynamic dispatch to methods (see
{{RelToSqlConverter.dispatch(RelNode)}}).
> Create visitor to emit java code that would reproduce the visited rel
> ---------------------------------------------------------------------
>
> Key: CALCITE-3875
> URL: https://issues.apache.org/jira/browse/CALCITE-3875
> Project: Calcite
> Issue Type: New Feature
> Affects Versions: 1.22.0
> Reporter: Justin Swett
> Priority: Minor
>
> It would be nice to have a visitor that would emit java code that could be
> used to reproduce the visited rel node, e.g.
> Something like:
> {code:java}
> ...
> String javaCode = RelOptUtil.toCode( myComplicatedRel );
> println(javaCode);
> // outputs something
> final RelBuilder builder = relBuilder();
> final RelNode root = builder
> .scan("EMP")
> .aggregate(builder.groupKey(),
> builder.aggregateCall(SqlStdOperatorTable.SUM0, false, false,
> null,
> "s", builder.field(3)))
> .build();
> {code}
> This could be useful setting up reproducible test cases that are somewhat
> tricky to recreate in the wild.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)