42 : m_scan_context(scan_ctx) {
44 if (scan_ctx->spec != 0) {
51 if (scan_ctx->spec->rebuild_indices) {
52 bool has_index =
false;
53 bool has_qualifier_index =
false;
55 for (
auto cf_spec : scan_ctx->schema->get_column_families()){
56 if (!cf_spec || cf_spec->get_deleted())
58 if (scan_ctx->spec->rebuild_indices.value_index() && cf_spec->get_value_index()) {
60 if (has_qualifier_index)
63 if (scan_ctx->spec->rebuild_indices.qualifier_index() && cf_spec->get_qualifier_index()) {
64 has_qualifier_index =
true;
69 if (has_index || has_qualifier_index)
72 has_index, has_qualifier_index);
83 HT_ERROR_OUT <<
"Problem destroying MergeScannerRange : " << e
103 bool new_row =
false;
136 const uint8_t *latest_key = (
const uint8_t *)sstate.
key.
row;
138 (
const uint8_t *)sstate.
key.
row;
141 new_row = new_cf = new_cq =
true;
183 bool incr_cf_count =
false;
198 incr_cf_count =
true;
243 value = sstate.
value;
282 - (
const uint8_t *)sstate.
key.
row);
323 cells += scanner->get_input_cells();
330 bytes += scanner->get_input_bytes();
337 amount += (int64_t)scanner->get_disk_read();
bool m_initialized
Flag indicating if scan has been initialized.
Declarations for MergeScannerAccessGroup.
static const uint32_t FLAG_INSERT
IndexUpdaterPtr m_index_updater
Index updater for rebuild indices scan.
int32_t m_cell_count_per_family
A class managing one or more serializable ByteStrings.
std::priority_queue< ScannerState, std::vector< ScannerState >, LtScannerState > m_queue
bool m_done
Flag indicating scan is finished.
bool get(Key &key, ByteString &value)
MergeScannerAccessGroup * scanner
bool get(Key &key, ByteString &value)
Logging routines and macros.
Compatibility Macros for C/C++.
size_t length() const
Retrieves the length of the serialized string.
int64_t get_input_bytes()
Returns number of bytes input.
MergeScannerRange(const std::string &table_id, ScanContextPtr &scan_ctx)
std::vector< MergeScannerAccessGroup * > m_scanners
int64_t get_input_cells()
Returns number of cells input.
int32_t m_cell_limit_per_family
Provides access to internal components of opaque key.
uint8_t * base
Pointer to the allocated memory buffer.
size_t fill() const
Returns the size of the used portion.
void set(const void *data, size_t len)
Overwrites the existing data.
This is a generic exception class for Hypertable.
uint8_t column_family_code
static IndexUpdaterPtr create(const String &table_id, SchemaPtr &schema, bool has_index, bool has_qualifier_index)
Factory function.
virtual ~MergeScannerRange()
Destructor.
Declarations for MergeScannerRange.
std::shared_ptr< ScanContext > ScanContextPtr