@InterfaceAudience.Public @InterfaceStability.Stable public class RowFilter extends CompareFilter
This filter can be wrapped with WhileMatchFilter to add more control.
Multiple filters can be combined using FilterList.
If an already known row range needs to be scanned, use
CellScanner start
and stop rows directly rather than a filter.
CompareFilter.CompareOpFilter.ReturnCode| Modifier and Type | Field and Description |
|---|---|
private boolean |
filterOutRow |
comparator, compareOp| Constructor and Description |
|---|
RowFilter(CompareFilter.CompareOp rowCompareOp,
ByteArrayComparable rowComparator)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
(package private) boolean |
areSerializedFieldsEqual(Filter o)
Default implementation so that writers of custom filters aren't forced to implement.
|
static Filter |
createFilterFromArguments(ArrayList<byte[]> filterArguments) |
Filter.ReturnCode |
filterKeyValue(Cell v)
A way to filter based on the column family, column qualifier and/or the column value.
|
boolean |
filterRow()
Filters that never filter by rows based on previously gathered state from
Filter.filterKeyValue(Cell) can inherit this implementation that
never filters a row. |
boolean |
filterRowKey(byte[] data,
int offset,
int length)
Filters that do not filter by row key can inherit this implementation that
never filters anything.
|
static RowFilter |
parseFrom(byte[] pbBytes) |
void |
reset()
Filters that are purely stateless and do nothing in their reset() methods can inherit
this null/empty implementation.
|
byte[] |
toByteArray()
Return length 0 byte array for Filters that don't require special serialization
|
convert, doCompare, extractArguments, getComparator, getOperator, toString, transformCellfilterAllRemaining, filterRowCells, getNextCellHint, getNextKeyHint, hasFilterRow, isFamilyEssential, transformisReversed, setReversedpublic RowFilter(CompareFilter.CompareOp rowCompareOp, ByteArrayComparable rowComparator)
rowCompareOp - the compare op for row matchingrowComparator - the comparator for row matchingpublic void reset()
FilterBaseIOException.reset in class FilterBasepublic Filter.ReturnCode filterKeyValue(Cell v)
FilterReturnCode.NEXT_ROW, it should return
ReturnCode.NEXT_ROW until Filter.reset() is called just in case the caller calls
for the next row.
Concrete implementers can signal a failure condition in their code by throwing an
IOException.filterKeyValue in class Filterv - the Cell in questionFilter.ReturnCodepublic boolean filterRowKey(byte[] data,
int offset,
int length)
FilterBaseFilter.filterKeyValue(Cell) below.
Concrete implementers can signal a failure condition in their code by throwing an
IOException.filterRowKey in class FilterBasedata - buffer containing row keyoffset - offset into buffer where row key startslength - length of the row keypublic boolean filterRow()
FilterBaseFilter.filterKeyValue(Cell) can inherit this implementation that
never filters a row.
Last chance to veto row based on previous Filter.filterKeyValue(Cell) calls. The filter
needs to retain state then return a particular value for this call if they wish to exclude a
row if a certain column is missing (for example).
Concrete implementers can signal a failure condition in their code by throwing an
IOException.filterRow in class FilterBasepublic static Filter createFilterFromArguments(ArrayList<byte[]> filterArguments)
public byte[] toByteArray()
FilterBasetoByteArray in class FilterBasepublic static RowFilter parseFrom(byte[] pbBytes) throws DeserializationException
pbBytes - A pb serialized RowFilter instanceRowFilter made from bytesDeserializationExceptiontoByteArray()boolean areSerializedFieldsEqual(Filter o)
FilterBaseareSerializedFieldsEqual in class CompareFilterother - Copyright © 2007–2019 The Apache Software Foundation. All rights reserved.