in spark/hbase-spark/src/main/scala/org/apache/hadoop/hbase/spark/DefaultSource.scala [1076:1118]
def validate(value: Array[Byte], valueOffSet: Int, valueLength: Int): Boolean = {
var result = false
points.foreach(
p => {
if (Bytes.equals(p, 0, p.length, value, valueOffSet, valueLength)) {
result = true
}
})
ranges.foreach(
r => {
val upperBoundPass = r.upperBound == null ||
(r.isUpperBoundEqualTo &&
Bytes.compareTo(
r.upperBound,
0,
r.upperBound.length,
value,
valueOffSet,
valueLength) >= 0) ||
(!r.isUpperBoundEqualTo &&
Bytes
.compareTo(r.upperBound, 0, r.upperBound.length, value, valueOffSet, valueLength) > 0)
val lowerBoundPass = r.lowerBound == null || r.lowerBound.length == 0
(r.isLowerBoundEqualTo &&
Bytes
.compareTo(
r.lowerBound,
0,
r.lowerBound.length,
value,
valueOffSet,
valueLength) <= 0) ||
(!r.isLowerBoundEqualTo &&
Bytes
.compareTo(r.lowerBound, 0, r.lowerBound.length, value, valueOffSet, valueLength) < 0)
result = result || (upperBoundPass && lowerBoundPass)
})
result
}