@Override
  protected void closeOp(boolean abort) throws HiveException {
    /*
     * Why would finishPartition be skipped here?
     * 1. abort: obviously
     * 2. allEvaluatorsAreStreaming: if all evaluators are streaming, we already evaluated
     * 3. isFirstPartition: if it's true, we haven't seen any records/batches in the operator
     */
    if (!abort && !allEvaluatorsAreStreaming && !isFirstPartition){
      finishPartition(getPartitionKey());
    }
    super.closeOp(abort);
  }
This package visible method can be called from VectorPTFGroupBatches. The usage of
vectorForward instead of forward is important in order to count the runtime rows (EXPLAIN
ANALYZE) correctly.

@param batch
@throws HiveException
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/ptf/VectorPTFOperator.java