@InterfaceAudience.Public @InterfaceStability.Stable public class TimestampsFilter extends FilterBase
Note: Use of this filter overrides any time range/time stamp
options specified using Get.setTimeRange(long, long)
,
Scan.setTimeRange(long, long)
, Get.setTimeStamp(long)
,
or Scan.setTimeStamp(long)
.
Filter.ReturnCode
Constructor and Description |
---|
TimestampsFilter(List<Long> timestamps)
Constructor for filter that retains only the specified timestamps in the list.
|
TimestampsFilter(List<Long> timestamps,
boolean canHint)
Constructor for filter that retains only those
cells whose timestamp (version) is in the specified
list of timestamps.
|
Modifier and Type | Method and Description |
---|---|
static Filter |
createFilterFromArguments(ArrayList<byte[]> filterArguments) |
boolean |
equals(Object obj) |
Filter.ReturnCode |
filterKeyValue(Cell v)
A way to filter based on the column family, column qualifier and/or the column value.
|
long |
getMin()
Gets the minimum timestamp requested by filter.
|
Cell |
getNextCellHint(Cell currentCell)
Pick the next cell that the scanner should seek to.
|
List<Long> |
getTimestamps() |
int |
hashCode() |
static TimestampsFilter |
parseFrom(byte[] pbBytes) |
byte[] |
toByteArray()
Return length 0 byte array for Filters that don't require special serialization
|
String |
toString()
Return filter's info for debugging and logging purpose.
|
protected String |
toString(int maxTimestamps) |
Cell |
transformCell(Cell v)
By default no transformation takes place
Give the filter a chance to transform the passed KeyValue.
|
filterAllRemaining, filterRow, filterRowCells, filterRowKey, getNextKeyHint, hasFilterRow, isFamilyEssential, reset, transform
isReversed, setReversed
public TimestampsFilter(List<Long> timestamps)
timestamps
- public TimestampsFilter(List<Long> timestamps, boolean canHint)
timestamps
- list of timestamps that are wanted.canHint
- should the filter provide a seek hint? This can skip
past delete tombstones, so it should only be used when that
is not an issue ( no deletes, or don't care if data
becomes visible)public long getMin()
public Filter.ReturnCode filterKeyValue(Cell v)
Filter
ReturnCode.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 Filter
v
- the Cell in questionFilter.ReturnCode
public Cell getNextCellHint(Cell currentCell) throws IOException
getNextCellHint
in class FilterBase
IOException
- This will never happen.public Cell transformCell(Cell v)
FilterBase
transformCell
in class FilterBase
v
- the KeyValue in questionThe transformed KeyValue is what is eventually returned to the client. Most filters will
return the passed KeyValue unchanged.
,
for an example of a
transformation.
Concrete implementers can signal a failure condition in their code by throwing an
{@link IOException}.
public static Filter createFilterFromArguments(ArrayList<byte[]> filterArguments)
public byte[] toByteArray()
FilterBase
toByteArray
in class FilterBase
public static TimestampsFilter parseFrom(byte[] pbBytes) throws DeserializationException
pbBytes
- A pb serialized TimestampsFilter
instanceTimestampsFilter
made from bytes
DeserializationException
toByteArray()
public String toString()
FilterBase
toString
in class FilterBase
protected String toString(int maxTimestamps)
Copyright © 2007–2019 The Apache Software Foundation. All rights reserved.