43 template <
typename IndexT>
45 CellListScanner(scan_ctx), m_cellstore(cellstore), m_decrement_blockindex_refcount(index!=0) {
70 make_unique<CellStoreScannerIntervalBlockIndex<IndexT>>(cellstore, index,
90 make_unique<CellStoreScannerIntervalBlockIndex<IndexT>>(cellstore, index,
94 if (strcmp(scan_ctx->
end_key.
row, cellstore->get_end_row()) > 0)
106 bool readahead =
false;
107 size_t buf_needed = 128 + strlen(cellstore->get_start_row()) + strlen(cellstore->get_end_row());
111 if (strcmp(scan_ctx->
start_key.
row, cellstore->get_start_row()) < 0) {
112 tmp_str = cellstore->get_start_row();
113 if (tmp_str.length() > 0)
114 tmp_str.append(1, 1);
124 if (strcmp(scan_ctx->
end_key.
row, cellstore->get_end_row()) > 0) {
126 tmp_str = cellstore->get_end_row();
127 tmp_str.append(1, 1);
152 template <
typename IndexT>
154 if (m_decrement_blockindex_refcount)
155 m_cellstore->decrement_index_refcount();
160 template <
typename IndexT>
166 if (m_interval_scanners[m_interval_index]->
get(key, value)) {
174 while (m_interval_index < m_interval_max) {
175 if (m_interval_scanners[m_interval_index]->
get(key, value)) {
187 template <
typename IndexT>
190 for (
size_t i=0; i<m_interval_max; i++)
191 amount += m_interval_scanners[i]->get_disk_read();
197 template <
typename IndexT>
201 m_interval_scanners[m_interval_index]->forward();
Retrieves system information (hardware, installation directory, etc)
SerializedKey start_serkey
CellStoreScanner(CellStorePtr &&cellstore, ScanContext *scan_ctx, IndexT *indexp=0)
std::unique_ptr< CellStoreScannerInterval > m_interval_scanners[3]
Provides the ability to scan over (query) a cell store.
static const uint32_t FLAG_DELETE_ROW
std::string String
A String is simply a typedef to std::string.
Declarations for CellStoreScannerIntervalBlockIndex.
virtual ~CellStoreScanner()
const char * value_regexp
Declarations for CellStoreScanner.
static const uint32_t FLAG_DELETE_CELL
Scan context information.
Declarations for CellStoreScannerIntervalReadahead.
uint8_t * ptr
Pointer to the end of the used part of the buffer.
static const uint32_t FLAG_DELETE_COLUMN_FAMILY
A class managing one or more serializable ByteStrings.
void grow(size_t new_size, bool nocopy=false)
Grows the buffer and copies the data unless nocopy is true.
Compatibility Macros for C/C++.
bool get(Key &key, ByteString &value) override
int64_t get_disk_read() override
const uint8_t * ptr
The pointer to the serialized data.
std::shared_ptr< CellStore > CellStorePtr
Smart pointer to CellStore.
void create_key_and_append(DynamicBuffer &dst_buf, const Key &key, bool time_order_asc)
static const int64_t TIMESTAMP_MAX
Provides access to internal components of opaque key.
uint32_t column_qualifier_len
uint8_t * base
Pointer to the allocated memory buffer.
uint8_t column_family_code
Error codes, Exception handling, error logging.
static const char * END_ROW_MARKER
Declarations for CellStoreBlockIndexArray.