diff --git hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValue.java hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValue.java index a384773..927ca7d 100644 --- hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValue.java +++ hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValue.java @@ -1693,7 +1693,7 @@ public class KeyValue implements Cell, HeapSize, Cloneable { public boolean matchingColumn(final byte [] family, final int foffset, final int flength, final byte [] qualifier, final int qoffset, final int qlength) { int rl = getRowLength(); - int o = getFamilyOffset(rl); + int o = getFamilyOffset(); int fl = getFamilyLength(o); if (!Bytes.equals(family, foffset, flength, this.bytes, o, fl)) { return false; @@ -2100,7 +2100,7 @@ public class KeyValue implements Cell, HeapSize, Cloneable { * @param right * @return Result comparing rows. */ - public int compareRows(final KeyValue left, final KeyValue right) { + public int compareRows(final Cell left, final Cell right) { return compareRows(left.getRowArray(),left.getRowOffset(), left.getRowLength(), right.getRowArray(), right.getRowOffset(), right.getRowLength()); } @@ -2122,12 +2122,12 @@ public class KeyValue implements Cell, HeapSize, Cloneable { int compareColumns(final KeyValue left, final short lrowlength, final KeyValue right, final short rrowlength) { - int lfoffset = left.getFamilyOffset(lrowlength); - int rfoffset = right.getFamilyOffset(rrowlength); - int lclength = left.getTotalColumnLength(lrowlength,lfoffset); - int rclength = right.getTotalColumnLength(rrowlength, rfoffset); - int lfamilylength = left.getFamilyLength(lfoffset); - int rfamilylength = right.getFamilyLength(rfoffset); + int lfoffset = left.getFamilyOffset(); + int rfoffset = right.getFamilyOffset(); + int lclength = left.getFamilyLength() + left.getQualifierLength(); + int rclength = right.getFamilyLength() + right.getQualifierLength(); + int lfamilylength = left.getFamilyLength(); + int rfamilylength = right.getFamilyLength(); return compareColumns(left.getBuffer(), lfoffset, lclength, lfamilylength, right.getBuffer(), rfoffset, rclength, rfamilylength); @@ -2318,12 +2318,12 @@ public class KeyValue implements Cell, HeapSize, Cloneable { return false; } - int lfoffset = left.getFamilyOffset(lrowlength); - int rfoffset = right.getFamilyOffset(rrowlength); - int lclength = left.getTotalColumnLength(lrowlength,lfoffset); - int rclength = right.getTotalColumnLength(rrowlength, rfoffset); - int lfamilylength = left.getFamilyLength(lfoffset); - int rfamilylength = right.getFamilyLength(rfoffset); + int lfoffset = left.getFamilyOffset(); + int rfoffset = right.getFamilyOffset(); + int lclength = left.getFamilyLength() + left.getQualifierLength(); + int rclength = right.getFamilyLength() + right.getQualifierLength(); + int lfamilylength = left.getFamilyLength(); + int rfamilylength = right.getFamilyLength(); int ccRes = compareColumns(left.getBuffer(), lfoffset, lclength, lfamilylength, right.getBuffer(), rfoffset, rclength, rfamilylength); return ccRes == 0;