protected Object evaluate(Object row, int version) throws HiveException {
    if (version < 0 || version != this.version) {
      this.version = version;
      return evaluation = _evaluate(row, version);
    }
    return evaluation;
  }
Evaluate the expression given the row. This method should use the
rowInspector passed in from initialize to inspect the row object. The
return value will be inspected by the return value of initialize.
If this evaluator is referenced by others, store it for them
ql/src/java/org/apache/hadoop/hive/ql/exec/ExprNodeEvaluator.java