public Object runOnRange(int rowNum, Range range, VectorPTFGroupBatches batches)
      throws HiveException {
    if (canRunOptimizedCalculation(rowNum, range)) {
      throw new RuntimeException(
          "No optimized runOnRange is implemented for " + this.getClass().getName());
    } else {
      return null;
    }
  }
Whether the evaluator can calculate the result for a given range. The optimization is supposed
to save CPU/IO cost in case of evaluators that can provide the result without iterating through
the batches of a range. This method is called before every single calculation, so it lets the
evaluator store state whether it's able to run an optimized calculation in a given point of
time.
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/ptf/VectorPTFEvaluatorBase.java