public class ScanDeleteTracker extends java.lang.Object implements DeleteTracker
This class is utilized through three methods:
add(Cell)
when encountering a Delete or DeleteColumnisDeleted(Cell)
when checking if a Put Cell has been deletedupdate()
when reaching the end of a StoreFile or row for scansThis class is NOT thread-safe as queries are never multi-threaded
DeleteTracker.DeleteResult
Modifier and Type | Field and Description |
---|---|
protected CellComparator |
comparator |
protected byte[] |
deleteBuffer |
protected Cell |
deleteCell |
protected int |
deleteLength |
protected int |
deleteOffset |
protected long |
deleteTimestamp |
protected byte |
deleteType |
protected long |
familyStamp |
protected java.util.SortedSet<java.lang.Long> |
familyVersionStamps |
protected boolean |
hasFamilyStamp |
Constructor and Description |
---|
ScanDeleteTracker(CellComparator comparator) |
Modifier and Type | Method and Description |
---|---|
void |
add(Cell cell)
Add the specified Cell to the list of deletes to check against for this row operation.
|
void |
beforeShipped() |
CellComparator |
getCellComparator()
Return the comparator passed to this delete tracker
|
DeleteTracker.DeleteResult |
isDeleted(Cell cell)
Check if the specified Cell buffer has been deleted by a previously seen delete.
|
boolean |
isEmpty() |
void |
reset()
Called between rows.
|
void |
update()
Called at the end of every StoreFile.
|
protected boolean hasFamilyStamp
protected long familyStamp
protected java.util.SortedSet<java.lang.Long> familyVersionStamps
protected Cell deleteCell
protected byte[] deleteBuffer
protected int deleteOffset
protected int deleteLength
protected byte deleteType
protected long deleteTimestamp
protected final CellComparator comparator
public void add(Cell cell)
This is called when a Delete is encountered.
add
in interface DeleteTracker
cell
- - the delete cellpublic DeleteTracker.DeleteResult isDeleted(Cell cell)
isDeleted
in interface DeleteTracker
cell
- - current cell to check if deleted by a previously seen deletepublic boolean isEmpty()
isEmpty
in interface DeleteTracker
public void reset()
DeleteTracker
This clears everything as if a new DeleteTracker was instantiated.
reset
in interface DeleteTracker
public void update()
DeleteTracker
Many optimized implementations of Trackers will require an update at when the end of each StoreFile is reached.
update
in interface DeleteTracker
public void beforeShipped() throws java.io.IOException
java.io.IOException
public CellComparator getCellComparator()
DeleteTracker
getCellComparator
in interface DeleteTracker