ResultCallback for secondary indices; used by TableScannerAsync.
More...
#include <IndexScannerCallback.h>
|
| IndexScannerCallback (TableScannerAsync *primary_scanner, Table *primary_table, const ScanSpec &primary_spec, std::vector< CellPredicate > &cell_predicates, ResultCallback *original_cb, uint32_t timeout_ms, bool qualifier_scan, bool row_intervals_applied) |
|
virtual | ~IndexScannerCallback () |
|
void | shutdown () |
|
void | sspecs_clear () |
|
virtual void | scan_ok (TableScannerAsync *scanner, ScanCellsPtr &scancells) |
| Callback method for successful scan. More...
|
|
virtual void | register_scanner (TableScannerAsync *scanner) |
| Hook for derived classes which want to keep track of scanners/mutators. More...
|
|
virtual void | scan_error (TableScannerAsync *scanner, int error, const std::string &error_msg, bool eos) |
| Callback method for scan errors. More...
|
|
virtual void | update_ok (TableMutatorAsync *mutator) |
| Callback method for successful update. More...
|
|
virtual void | update_error (TableMutatorAsync *mutator, int error, FailedMutations &failures) |
| Callback method for update errors. More...
|
|
| ResultCallback () |
|
virtual | ~ResultCallback () |
|
virtual void | deregister_scanner (TableScannerAsync *scanner) |
| Hook for derived classes which want to keep track of scanners/mutators. More...
|
|
virtual void | register_mutator (TableMutatorAsync *mutator) |
| Hook for derived classes which want to keep track of scanners/mutators. More...
|
|
virtual void | deregister_mutator (TableMutatorAsync *mutator) |
| Hook for derived classes which want to keep track of scanners/mutators. More...
|
|
virtual void | completed () |
| Callback method for completion, default one does nothing. More...
|
|
void | wait_for_completion () |
| Blocks till outstanding == 0. More...
|
|
void | increment_outstanding () |
|
void | decrement_outstanding () |
|
bool | is_done () |
|
virtual | ~ClientObject () |
| Destructor. More...
|
|
|
static const size_t | SSB_QUEUE_LIMIT = 40 |
|
static const size_t | TMP_CUTOFF = 16*1024*1024 |
| if more than TMP_CUTOFF bytes are received from the index then store all results in a temporary table More...
|
|
ResultCallback for secondary indices; used by TableScannerAsync.
Definition at line 85 of file IndexScannerCallback.h.
Hypertable::IndexScannerCallback::IndexScannerCallback |
( |
TableScannerAsync * |
primary_scanner, |
|
|
Table * |
primary_table, |
|
|
const ScanSpec & |
primary_spec, |
|
|
std::vector< CellPredicate > & |
cell_predicates, |
|
|
ResultCallback * |
original_cb, |
|
|
uint32_t |
timeout_ms, |
|
|
bool |
qualifier_scan, |
|
|
bool |
row_intervals_applied |
|
) |
| |
|
inline |
virtual Hypertable::IndexScannerCallback::~IndexScannerCallback |
( |
| ) |
|
|
inlinevirtual |
bool Hypertable::IndexScannerCallback::cell_intervals_match |
( |
const CellIntervals & |
civec, |
|
|
const char * |
row, |
|
|
const char * |
column |
|
) |
| |
|
inlineprivate |
void Hypertable::IndexScannerCallback::create_temp_table |
( |
| ) |
|
|
inlineprivate |
void Hypertable::IndexScannerCallback::final_decrement |
( |
bool |
is_eos | ) |
|
|
inlineprivate |
void Hypertable::IndexScannerCallback::readahead |
( |
| ) |
|
|
inlineprivate |
virtual void Hypertable::IndexScannerCallback::register_scanner |
( |
TableScannerAsync * |
scanner | ) |
|
|
inlinevirtual |
bool Hypertable::IndexScannerCallback::row_intervals_match |
( |
const RowIntervals & |
rivec, |
|
|
const char * |
row |
|
) |
| |
|
inlineprivate |
virtual void Hypertable::IndexScannerCallback::scan_error |
( |
TableScannerAsync * |
scanner, |
|
|
int |
error, |
|
|
const std::string & |
error_msg, |
|
|
bool |
eos |
|
) |
| |
|
inlinevirtual |
void Hypertable::IndexScannerCallback::shutdown |
( |
| ) |
|
|
inline |
void Hypertable::IndexScannerCallback::sspecs_clear |
( |
| ) |
|
|
inline |
void Hypertable::IndexScannerCallback::track_predicates |
( |
ScanCellsPtr & |
scancells | ) |
|
|
inlineprivate |
virtual void Hypertable::IndexScannerCallback::update_ok |
( |
TableMutatorAsync * |
mutator | ) |
|
|
inlinevirtual |
void Hypertable::IndexScannerCallback::verify_results |
( |
std::unique_lock< std::mutex > & |
lock, |
|
|
TableScannerAsync * |
scanner, |
|
|
ScanCellsPtr & |
scancells |
|
) |
| |
|
inlineprivate |
uint32_t Hypertable::IndexScannerCallback::m_all_matching {} |
|
private |
int Hypertable::IndexScannerCallback::m_cell_count {} |
|
private |
int Hypertable::IndexScannerCallback::m_cell_limit {} |
|
private |
int Hypertable::IndexScannerCallback::m_cell_limit_per_family {} |
|
private |
int Hypertable::IndexScannerCallback::m_cell_offset {} |
|
private |
std::vector<CellPredicate> Hypertable::IndexScannerCallback::m_cell_predicates |
|
private |
std::map<uint32_t, String> Hypertable::IndexScannerCallback::m_column_map |
|
private |
uint32_t Hypertable::IndexScannerCallback::m_cur_matching {} |
|
private |
bool Hypertable::IndexScannerCallback::m_eos {} |
|
private |
bool Hypertable::IndexScannerCallback::m_final_decrement {} |
|
private |
std::string Hypertable::IndexScannerCallback::m_last_rowkey_tracking |
|
private |
std::string Hypertable::IndexScannerCallback::m_last_rowkey_verify |
|
private |
bool Hypertable::IndexScannerCallback::m_limits_reached {} |
|
private |
std::mutex Hypertable::IndexScannerCallback::m_mutex |
|
private |
std::atomic<int> Hypertable::IndexScannerCallback::m_outstanding_scanners {0} |
|
private |
Table* Hypertable::IndexScannerCallback::m_primary_table {} |
|
private |
bool Hypertable::IndexScannerCallback::m_qualifier_scan {} |
|
private |
int Hypertable::IndexScannerCallback::m_readahead_count {} |
|
private |
int Hypertable::IndexScannerCallback::m_row_count {} |
|
private |
bool Hypertable::IndexScannerCallback::m_row_intervals_applied {} |
|
private |
int Hypertable::IndexScannerCallback::m_row_limit {} |
|
private |
int Hypertable::IndexScannerCallback::m_row_offset {} |
|
private |
std::mutex Hypertable::IndexScannerCallback::m_scanner_mutex |
|
private |
bool Hypertable::IndexScannerCallback::m_shutdown {} |
|
private |
std::condition_variable Hypertable::IndexScannerCallback::m_sspecs_cond |
|
private |
uint32_t Hypertable::IndexScannerCallback::m_timeout_ms {} |
|
private |
size_t Hypertable::IndexScannerCallback::m_tmp_cutoff {} |
|
private |
CkeyMap Hypertable::IndexScannerCallback::m_tmp_keys |
|
private |
TablePtr Hypertable::IndexScannerCallback::m_tmp_table |
|
private |
bool Hypertable::IndexScannerCallback::m_track_limits {} |
|
private |
const size_t Hypertable::IndexScannerCallback::SSB_QUEUE_LIMIT = 40 |
|
staticprivate |
const size_t Hypertable::IndexScannerCallback::TMP_CUTOFF = 16*1024*1024 |
|
staticprivate |
if more than TMP_CUTOFF bytes are received from the index then store all results in a temporary table
Definition at line 98 of file IndexScannerCallback.h.
The documentation for this class was generated from the following file: