27 #ifndef Hypertable_RangeServer_MergeScannerAccessGroup_h
28 #define Hypertable_RangeServer_MergeScannerAccessGroup_h
80 void set_column(
int family,
const char *qualifier,
bool match) {
263 const uint8_t *decode;
266 if (remain != 8 && remain != 9) {
267 HT_FATAL_OUT <<
"Expected counter to be encoded 64 bit int but "
268 "remain=" << remain <<
" ,key=" << key <<
HT_END;
272 if ((
char)*decode !=
'=')
273 HT_FATAL_OUT <<
"Bad counter reset flag, expected '=' but "
274 "got " << (int)*decode <<
HT_END;
321 std::priority_queue<ScannerState, std::vector<ScannerState>,
377 #endif // Hypertable_RangeServer_MergeScannerAccessGroup_h
bool matches_deleted_column_family(const Key &key) const
CellListScanner * scanner
std::vector< CellListScannerPtr > m_scanners
void set_rowkey(const char *rowkey, bool match)
std::string String
A String is simply a typedef to std::string.
int64_t get_output_bytes()
void update_deleted_row(const Key &key)
static const uint32_t FLAG_INSERT
std::shared_ptr< IndexUpdater > IndexUpdaterPtr
Smart pointer to IndexUpdater.
MergeScannerAccessGroup(String &table_name, ScanContext *scan_ctx, uint32_t flags=0)
Constructor.
void start_count(const Key &key, const ByteString &value)
void install_release_callback(CellStoreReleaseCallback &cb)
void update_deleted_cell(const Key &key)
void purge_from_index(const Key &key, const ByteString &value)
void io_add_input_cell(int64_t cur_bytes)
Scan context information.
bool m_accumulate_counters
bool matches_counted_key(const Key &key) const
uint8_t * ptr
Pointer to the end of the used part of the buffer.
A dynamic, resizable and reference counted memory buffer.
void set_column(int family, const char *qualifier, bool match)
bool matches_deleted_row(const Key &key) const
bool matches_deleted_cell_version(const Key &key) const
int64_t m_start_timestamp
A class managing one or more serializable ByteStrings.
void check_rowkey(const char *rowkey, bool *cached, bool *match)
DynamicBuffer m_deleted_row
uint64_t decode_i64(const uint8_t **bufp, size_t *remainp)
Decode a 64-bit integer in little-endian order.
void increment_count(const Key &key, const ByteString &value)
void io_add_output_cell(int64_t cur_bytes)
A dynamic, resizable memory buffer.
DynamicBuffer m_deleted_cell_version
std::shared_ptr< MergeScannerAccessGroup > MergeScannerAccessGroupPtr
Shared pointer to MergeScannerAccessGroup.
DynamicBuffer m_deleted_cell
Declarations for ScanContext.
int64_t m_deleted_cell_timestamp
vector< CellPredicate > cell_predicates
bool load(const SerializedKey &key)
Parses the opaque key and loads the components into the member variables.
void encode_i64(uint8_t **bufp, uint64_t val)
Encode a 64-bit integer in little-endian order.
void update_deleted_column_family(const Key &key)
bool matches_deleted_cell(const Key &key) const
Declarations for IndexUpdater.
int64_t get_input_cells()
void add_scanner(CellListScannerPtr scanner)
const uint8_t * ptr
The pointer to the serialized data.
int64_t m_deleted_column_family_timestamp
void update_deleted_cell_version(const Key &key)
void clear()
Clears the buffer.
DynamicBuffer m_deleted_column_family
CellStoreReleaseCallback m_release_callback
DynamicBuffer m_counted_key_buffer
size_t len_column_family() const
bool operator()(const ScannerState &ss1, const ScannerState &ss2) const
size_t decode_length(const uint8_t **dptr) const
Retrieves the decoded length and returns a pointer to the string.
Provides access to internal components of opaque key.
uint8_t * base
Pointer to the allocated memory buffer.
std::priority_queue< ScannerState, std::vector< ScannerState >, LtScannerState > m_queue
size_t fill() const
Returns the size of the used portion.
void set(const void *data, size_t len)
Overwrites the existing data.
A serializable ByteString.
virtual ~MergeScannerAccessGroup()
Destructor.
void add_disk_read(int64_t amount)
uint8_t column_family_code
std::shared_ptr< CellListScanner > CellListScannerPtr
IndexUpdaterPtr m_index_updater
std::set< int64_t > m_deleted_cell_version_set
void check_column(int family, const char *qualifier, bool *cached, bool *match)
bool m_skip_remaining_counter
DynamicBuffer m_counted_value
void ensure(size_t len)
Ensure space for additional data Will grow the space to 1.5 of the needed space with existing data un...
ScanContext * m_scan_context
RegexpInfo m_regexp_cache
int64_t get_input_bytes()
int64_t get_output_cells()
Merge scanner for access groups.
int64_t m_deleted_row_timestamp