@Override
  public final int compareWithoutRow(final Cell left, final Cell right) {
    // If the column is not specified, the "minimum" key type appears the
    // latest in the sorted order, regardless of the timestamp. This is used
    // for specifying the last key/value in a given row, because there is no
    // "lexicographically last column" (it would be infinitely long). The
    // "maximum" key type does not need this behavior.
    // Copied from KeyValue. This is bad in that we can't do memcmp w/ special rules like this.
    int lFamLength = left.getFamilyLength();
    int rFamLength = right.getFamilyLength();
    int lQualLength = left.getQualifierLength();
    int rQualLength = right.getQualifierLength();
    byte leftType = PrivateCellUtil.getTypeByte(left);
    byte rightType = PrivateCellUtil.getTypeByte(right);
    if (lFamLength + lQualLength == 0 && leftType == KeyValue.Type.Minimum.getCode()) {
      // left is "bigger", i.e. it appears later in the sorted order
      return 1;
    }
    if (rFamLength + rQualLength == 0 && rightType == KeyValue.Type.Minimum.getCode()) {
      return -1;
    }
    if (lFamLength != rFamLength) {
      // comparing column family is enough.
      return compareFamilies(left, lFamLength, right, rFamLength);
    }
    // Compare cf:qualifier
    int diff = compareColumns(left, lFamLength, lQualLength, right, rFamLength, rQualLength);
    if (diff != 0) {
      return diff;
    }

    diff = compareTimestamps(left.getTimestamp(), right.getTimestamp());
    if (diff != 0) {
      return diff;
    }

    // Compare types. Let the delete types sort ahead of puts; i.e. types
    // of higher numbers sort before those of lesser numbers. Maximum (255)
    // appears ahead of everything, and minimum (0) appears after
    // everything.
    return (0xff & rightType) - (0xff & leftType);
  }
Compares the row part of the cell with a simple plain byte[] like the stopRow in Scan. This
should be used with context where for hbase:meta cells the
{{@link MetaCellComparator#META_COMPARATOR} should be used the cell to be compared the kv
serialized byte[] to be compared with the offset in the byte[] the length in the byte[]
@return 0 if both cell and the byte[] are equal, 1 if the cell is bigger than byte[], -1
        otherwise
hbase-common/src/main/java/org/apache/hadoop/hbase/CellComparatorImpl.java