Author: larsh
Date: Thu Oct 17 20:10:10 2013
New Revision: 1533238
URL: http://svn.apache.org/r1533238
Log:
HBASE-9747 PrefixFilter with OR condition gives wrong results (Aditya Kishore)
Modified:
hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/filter/PrefixFilter.java
Modified:
hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/filter/PrefixFilter.java
URL:
http://svn.apache.org/viewvc/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/filter/PrefixFilter.java?rev=1533238&r1=1533237&r2=1533238&view=diff
==============================================================================
---
hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/filter/PrefixFilter.java
(original)
+++
hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/filter/PrefixFilter.java
Thu Oct 17 20:10:10 2013
@@ -20,15 +20,13 @@
package org.apache.hadoop.hbase.filter;
-import org.apache.hadoop.hbase.KeyValue;
-import org.apache.hadoop.hbase.util.Bytes;
-
+import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
-import java.io.DataInput;
-import java.util.List;
import java.util.ArrayList;
+import org.apache.hadoop.hbase.util.Bytes;
+
import com.google.common.base.Preconditions;
/**
@@ -37,6 +35,7 @@ import com.google.common.base.Preconditi
public class PrefixFilter extends FilterBase {
protected byte [] prefix = null;
protected boolean passedPrefix = false;
+ protected boolean filterRow = true;
public PrefixFilter(final byte [] prefix) {
this.prefix = prefix;
@@ -63,7 +62,16 @@ public class PrefixFilter extends Filter
if(cmp > 0) {
passedPrefix = true;
}
- return cmp != 0;
+ filterRow = (cmp != 0);
+ return filterRow;
+ }
+
+ public boolean filterRow() {
+ return filterRow;
+ }
+
+ public void reset() {
+ filterRow = true;
}
public boolean filterAllRemaining() {