private static boolean isVirtualColumnProjected(VectorizedRowBatchCtx rbCtx, VirtualColumn virtualColumn) {
    if (rbCtx.getVirtualColumnCount() == 0) {
      return false;
    }
    for(VirtualColumn vc : rbCtx.getNeededVirtualColumns()) {
      if(vc == virtualColumn) {
        return true;
      }
    }
    return false;
  }
Does this reader need to decorate rows with ROW__IDs (for "original" reads).
Even if ROW__ID is not projected you still need to decorate the rows with them to see if
any of the delete events apply.
ql/src/java/org/apache/hadoop/hive/ql/io/orc/VectorizedOrcAcidRowBatchReader.java