public class ReversedStoreScanner extends StoreScanner implements KeyValueScanner
DEFAULT_HBASE_CELLS_SCANNED_PER_HEARTBEAT_CHECK, HBASE_CELLS_SCANNED_PER_HEARTBEAT_CHECK, heap, readPt, store, STORESCANNER_PARALLEL_SEEK_ENABLE, STORESCANNER_PREAD_MAX_BYTESNO_NEXT_INDEXED_KEY| Constructor and Description |
|---|
ReversedStoreScanner(HStore store,
ScanInfo scanInfo,
Scan scan,
java.util.NavigableSet<byte[]> columns,
long readPt)
Opens a scanner across memstore, snapshot, and all StoreFiles.
|
ReversedStoreScanner(Scan scan,
ScanInfo scanInfo,
java.util.NavigableSet<byte[]> columns,
java.util.List<? extends KeyValueScanner> scanners)
Constructor for testing.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
backwardSeek(Cell key)
Seek the scanner at or before the row of specified Cell, it firstly
tries to seek the scanner at or after the specified Cell, return if
peek KeyValue of scanner has the same row with specified Cell,
otherwise seek the scanner at the first Cell of the row which is the
previous row of specified KeyValue
|
protected void |
checkScanOrder(Cell prevKV,
Cell kv,
CellComparator comparator)
Check whether scan as expected order
|
boolean |
reseek(Cell kv)
Reseek the scanner at or after the specified KeyValue.
|
protected void |
resetKVHeap(java.util.List<? extends KeyValueScanner> scanners,
CellComparator comparator) |
boolean |
seek(Cell key)
Seek the scanner at or after the specified KeyValue.
|
protected boolean |
seekAsDirection(Cell kv)
Do a backwardSeek in a reversed StoreScanner(scan backward)
|
protected void |
seekScanners(java.util.List<? extends KeyValueScanner> scanners,
Cell seekKey,
boolean isLazy,
boolean isParallelSeek)
Seek the specified scanners with the given key
|
protected boolean |
seekToNextRow(Cell kv) |
boolean |
seekToPreviousRow(Cell key)
Seek the scanner at the first Cell of the row which is the previous row
of specified key
|
checkFlushed, close, getEstimatedNumberOfKvsScanned, getNextIndexedKey, getReadPoint, getScannerOrder, next, next, peek, reopenAfterFlush, selectScannersFrom, shipped, trySkipToNextColumn, trySkipToNextRow, updateReadersseekToLastRowclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitclose, enforceSeek, getFilePath, getNextIndexedKey, getScannerOrder, isFileScanner, next, peek, realSeekDone, requestSeek, seekToLastRow, shouldUseScannernextpublic ReversedStoreScanner(HStore store, ScanInfo scanInfo, Scan scan, java.util.NavigableSet<byte[]> columns, long readPt) throws java.io.IOException
store - who we scanscanInfo - scan - the speccolumns - which columns we are scanningjava.io.IOExceptionpublic ReversedStoreScanner(Scan scan,
ScanInfo scanInfo,
java.util.NavigableSet<byte[]> columns,
java.util.List<? extends KeyValueScanner> scanners)
throws java.io.IOException
java.io.IOExceptionprotected void resetKVHeap(java.util.List<? extends KeyValueScanner> scanners, CellComparator comparator) throws java.io.IOException
resetKVHeap in class StoreScannerjava.io.IOExceptionprotected void seekScanners(java.util.List<? extends KeyValueScanner> scanners, Cell seekKey, boolean isLazy, boolean isParallelSeek) throws java.io.IOException
StoreScannerseekScanners in class StoreScannerisLazy - true if using lazy seekisParallelSeek - true if using parallel seekjava.io.IOExceptionprotected boolean seekToNextRow(Cell kv)
throws java.io.IOException
seekToNextRow in class StoreScannerjava.io.IOExceptionprotected boolean seekAsDirection(Cell kv)
throws java.io.IOException
seekAsDirection in class StoreScannerjava.io.IOExceptionprotected void checkScanOrder(Cell prevKV,
Cell kv,
CellComparator comparator)
throws java.io.IOException
StoreScannercheckScanOrder in class StoreScannerjava.io.IOExceptionpublic boolean reseek(Cell kv)
throws java.io.IOException
KeyValueScannerreseek in interface KeyValueScannerreseek in class StoreScannerkv - seek value (should be non-null)java.io.IOExceptionpublic boolean seek(Cell key)
throws java.io.IOException
KeyValueScannerseek in interface KeyValueScannerseek in class StoreScannerkey - seek valuejava.io.IOExceptionpublic boolean seekToPreviousRow(Cell key)
throws java.io.IOException
KeyValueScannerseekToPreviousRow in interface KeyValueScannerseekToPreviousRow in class NonReversedNonLazyKeyValueScannerkey - seek valuejava.io.IOExceptionpublic boolean backwardSeek(Cell key)
throws java.io.IOException
KeyValueScannerbackwardSeek in interface KeyValueScannerbackwardSeek in class NonReversedNonLazyKeyValueScannerkey - seek KeyValuejava.io.IOException