[
https://issues.apache.org/jira/browse/TAJO-1436?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14386368#comment-14386368
]
ASF GitHub Bot commented on TAJO-1436:
--------------------------------------
Github user navis commented on a diff in the pull request:
https://github.com/apache/tajo/pull/456#discussion_r27372699
--- Diff:
tajo-plan/src/main/java/org/apache/tajo/plan/expr/FunctionEval.java ---
@@ -40,13 +40,27 @@
@Expose protected FunctionDesc funcDesc;
@Expose protected EvalNode [] argEvals;
+ private transient Tuple params;
--- End diff --
It's transient field as it declared, which should not be included in hash
or equals calculation.
> Add Bind method to EvalNode
> ---------------------------
>
> Key: TAJO-1436
> URL: https://issues.apache.org/jira/browse/TAJO-1436
> Project: Tajo
> Issue Type: Improvement
> Components: operator/expression
> Reporter: Hyunsik Choi
> Assignee: Navis
> Fix For: 0.11.0
>
>
> EvalNode just has eval() method to evaluate some tuples. It does not have any
> method to prepare actual execution.
> For example, FieldEval should know an actual field index of an input tuple.
> This process is also performed in eval() method.
> It has some problems:
> * eval() method should involve two works, and it does different behavior
> with some flag or null check.
> * 'if condition' in eval() method for different behaviors involves
> unnecessary branches, causing performance degradation.
> So, we should add {{bind(Schema)}} method to EvalNode and then move some
> preparation code from eval() to bind(Schame) method.
> Also, we should refactor the signature {{eval(Schema, Tuple)}} to
> {{eval(Tuple)}}.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)