Provides the ability to scan over a portion of a cell store using its block index. More...
#include <CellStoreScannerIntervalBlockIndex.h>
Public Types | |
typedef IndexT::iterator | IndexIteratorT |
Public Member Functions | |
CellStoreScannerIntervalBlockIndex (CellStorePtr &cellstore, IndexT *index, SerializedKey start_key, SerializedKey end_key, ScanContext *scan_ctx) | |
virtual | ~CellStoreScannerIntervalBlockIndex () |
virtual void | forward () |
virtual bool | get (Key &key, ByteString &value) |
Public Member Functions inherited from Hypertable::CellStoreScannerInterval | |
CellStoreScannerInterval () | |
virtual | ~CellStoreScannerInterval () |
int64_t | get_disk_read () |
Private Member Functions | |
bool | fetch_next_block (bool eob=false) |
This method fetches the 'next' compressed block of key/value pairs from the underlying CellStore. More... | |
Private Attributes | |
CellStorePtr | m_cellstore |
IndexT * | m_index {} |
IndexIteratorT | m_iter |
BlockInfo | m_block |
Key | m_key |
SerializedKey | m_cur_key |
ByteString | m_cur_value |
SerializedKey | m_start_key |
SerializedKey | m_end_key |
const char * | m_end_row {} |
DynamicBuffer | m_key_buf |
BlockCompressionCodec * | m_zcodec {} |
KeyDecompressor * | m_key_decompressor {} |
int32_t | m_fd {-1} |
bool | m_cached {} |
bool | m_check_for_range_end {} |
int | m_file_id {} |
ScanContext * | m_scan_ctx {} |
ScanContext::CstrRowSet & | m_rowset |
Additional Inherited Members | |
Protected Attributes inherited from Hypertable::CellStoreScannerInterval | |
uint64_t | m_disk_read |
Provides the ability to scan over a portion of a cell store using its block index.
IndexT | Type of block index |
Definition at line 47 of file CellStoreScannerIntervalBlockIndex.h.
typedef IndexT::iterator Hypertable::CellStoreScannerIntervalBlockIndex< IndexT >::IndexIteratorT |
Definition at line 50 of file CellStoreScannerIntervalBlockIndex.h.
CellStoreScannerIntervalBlockIndex::CellStoreScannerIntervalBlockIndex | ( | CellStorePtr & | cellstore, |
IndexT * | index, | ||
SerializedKey | start_key, | ||
SerializedKey | end_key, | ||
ScanContext * | scan_ctx | ||
) |
End of range check
Column family check
Definition at line 50 of file CellStoreScannerIntervalBlockIndex.cc.
|
virtual |
Definition at line 106 of file CellStoreScannerIntervalBlockIndex.cc.
|
private |
This method fetches the 'next' compressed block of key/value pairs from the underlying CellStore.
Preconditions required to call this method: 1. m_block is cleared and m_iter points to the m_index entry of the first block to fetch 'or' 2. m_block is loaded with the current block and m_iter points to the m_index entry of the current block
eob | end of block indicator, true if being called because at end of block |
Cache lookup / block read
Read compressed block
inflate compressed block
Insert or checkin compressed block into cache
take ownership of inflate buffer
Insert uncompressed block into cache
Definition at line 187 of file CellStoreScannerIntervalBlockIndex.cc.
|
virtual |
Column family check
Implements Hypertable::CellStoreScannerInterval.
Definition at line 132 of file CellStoreScannerIntervalBlockIndex.cc.
|
virtual |
Implements Hypertable::CellStoreScannerInterval.
Definition at line 118 of file CellStoreScannerIntervalBlockIndex.cc.
|
private |
Definition at line 65 of file CellStoreScannerIntervalBlockIndex.h.
|
private |
Definition at line 76 of file CellStoreScannerIntervalBlockIndex.h.
|
private |
Definition at line 62 of file CellStoreScannerIntervalBlockIndex.h.
|
private |
Definition at line 77 of file CellStoreScannerIntervalBlockIndex.h.
|
private |
Definition at line 67 of file CellStoreScannerIntervalBlockIndex.h.
|
private |
Definition at line 68 of file CellStoreScannerIntervalBlockIndex.h.
|
private |
Definition at line 70 of file CellStoreScannerIntervalBlockIndex.h.
|
private |
Definition at line 71 of file CellStoreScannerIntervalBlockIndex.h.
|
private |
Definition at line 75 of file CellStoreScannerIntervalBlockIndex.h.
|
private |
Definition at line 78 of file CellStoreScannerIntervalBlockIndex.h.
|
private |
Definition at line 63 of file CellStoreScannerIntervalBlockIndex.h.
|
private |
Definition at line 64 of file CellStoreScannerIntervalBlockIndex.h.
|
private |
Definition at line 66 of file CellStoreScannerIntervalBlockIndex.h.
|
private |
Definition at line 72 of file CellStoreScannerIntervalBlockIndex.h.
|
private |
Definition at line 74 of file CellStoreScannerIntervalBlockIndex.h.
|
private |
Definition at line 80 of file CellStoreScannerIntervalBlockIndex.h.
|
private |
Definition at line 79 of file CellStoreScannerIntervalBlockIndex.h.
|
private |
Definition at line 69 of file CellStoreScannerIntervalBlockIndex.h.
|
private |
Definition at line 73 of file CellStoreScannerIntervalBlockIndex.h.