static Path[] getDeleteDeltaDirsFromSplit(OrcSplit orcSplit,
      Map<String, AcidInputFormat.DeltaMetaData> pathToDeltaMetaData) {
    Path path = orcSplit.getPath();
    Path root;
    if (orcSplit.hasBase()) {
      if (orcSplit.isOriginal()) {
        root = orcSplit.getRootDir();
      } else {
        root = path.getParent().getParent();//todo: why not just use getRootDir()?
        assert root.equals(orcSplit.getRootDir()) : "root mismatch: baseDir=" + orcSplit.getRootDir() +
          " path.p.p=" + root;
      }
    } else {
      throw new IllegalStateException("Split w/o base w/Acid 2.0??: " + path);
    }
    return AcidUtils.deserializeDeleteDeltas(root, orcSplit.getDeltas(), pathToDeltaMetaData);
  }
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