HBASE-1537 Intra-row scanning; Query matcher will be confused if intra-row scanning

git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@978980 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Andrew Kyle Purtell 2010-07-25 04:32:45 +00:00
parent e60312c1bd
commit 95612cd281
1 changed files with 6 additions and 1 deletions

View File

@ -227,7 +227,12 @@ class StoreScanner implements KeyValueScanner, InternalScanner, ChangedReadersOb
return false;
}
matcher.setRow(peeked.getRow());
// only call setRow if the row changes; avoids confusing the query matcher
// if scanning intra-row
if ((matcher.row == null) || !peeked.matchingRow(matcher.row)) {
matcher.setRow(peeked.getRow());
}
KeyValue kv;
List<KeyValue> results = new ArrayList<KeyValue>();
LOOP: while((kv = this.heap.peek()) != null) {