Vladimir Sitnikov created CALCITE-506:
-----------------------------------------
Summary: Update EnumerableRelImplementor.stash so it is suitable
for all kinds of classes
Key: CALCITE-506
URL: https://issues.apache.org/jira/browse/CALCITE-506
Project: Calcite
Issue Type: Bug
Affects Versions: 1.0.0-incubating
Reporter: Vladimir Sitnikov
Assignee: Julian Hyde
{code:java}
public Expression stash(RelNode child, Class clazz) {
final ParameterExpression x = register(child, clazz);
final Expression e = Expressions.call(getRootExpression(),
BuiltInMethod.DATA_CONTEXT_GET.method, Expressions.constant(x.name));
return Expressions.convert_(e, clazz);
}
{code}
I would like to make two corrections here:
1) I think {{public <T> Expression st(T x, Class<? super T> clazz) \{}} should
be better signature.
2) It makes sense to translate {{DATA_CONTEXT_GET}} as a store to a {{final}}
local variable at the very start of {{public
org.apache.calcite.linq4j.Enumerable bind(final org.apache.calcite.DataContext
root0)}} method (see {{implementRoot}}), so at the usage time it is just a load
of local variable, not a {{map.get}}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)