Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.11.0
    • Component/s: Expression
    • Labels:
      None

      Description

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

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                navis Navis
                Reporter:
                hyunsik Hyunsik Choi
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: