[ 
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)

Reply via email to