0.9.8.10
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
Hypertable::MergeScannerRange Class Reference

Performs a scan over a range. More...

#include <MergeScannerRange.h>

Collaboration diagram for Hypertable::MergeScannerRange:
Collaboration graph
[legend]

Classes

struct  LtScannerState
 
struct  ScannerState
 

Public Member Functions

 MergeScannerRange (const std::string &table_id, ScanContextPtr &scan_ctx)
 
virtual ~MergeScannerRange ()
 Destructor. More...
 
void add_scanner (MergeScannerAccessGroup *scanner)
 
void forward ()
 
bool get (Key &key, ByteString &value)
 
int32_t get_skipped_cells ()
 
int32_t get_skipped_rows ()
 
int64_t get_input_cells ()
 Returns number of cells input. More...
 
int64_t get_output_cells ()
 Returns number of cells output. More...
 
int64_t get_input_bytes ()
 Returns number of bytes input. More...
 
int64_t get_output_bytes ()
 Returns number of bytes output. More...
 
int64_t get_disk_read ()
 
ScanContextscan_context ()
 

Private Member Functions

void initialize ()
 

Private Attributes

std::vector
< MergeScannerAccessGroup * > 
m_scanners
 
std::priority_queue
< ScannerState, std::vector
< ScannerState >
, LtScannerState
m_queue
 
ScanContextPtr m_scan_context
 Scan context. More...
 
IndexUpdaterPtr m_index_updater
 Index updater for rebuild indices scan. More...
 
bool m_done {}
 Flag indicating scan is finished. More...
 
bool m_initialized {}
 Flag indicating if scan has been initialized. More...
 
bool m_skip_this_row {}
 
int32_t m_cell_offset {}
 
int32_t m_cell_skipped {}
 
int32_t m_cell_count {}
 
int32_t m_cell_limit {}
 
int32_t m_row_offset {}
 
int32_t m_row_skipped {}
 
int32_t m_row_count {}
 
int32_t m_row_limit {}
 
int32_t m_cell_count_per_family {}
 
int32_t m_cell_limit_per_family {}
 
int32_t m_prev_cf {-1}
 
int64_t m_prev_timestamp {TIMESTAMP_NULL}
 
int64_t m_bytes_output {}
 
int64_t m_cells_output {}
 
DynamicBuffer m_prev_key
 

Detailed Description

Performs a scan over a range.

Definition at line 48 of file MergeScannerRange.h.

Constructor & Destructor Documentation

MergeScannerRange::MergeScannerRange ( const std::string &  table_id,
ScanContextPtr scan_ctx 
)

Definition at line 41 of file MergeScannerRange.cc.

MergeScannerRange::~MergeScannerRange ( )
virtual

Destructor.

Destroys all scanners in m_scanners.

Definition at line 77 of file MergeScannerRange.cc.

Member Function Documentation

void Hypertable::MergeScannerRange::add_scanner ( MergeScannerAccessGroup scanner)
inline

Definition at line 57 of file MergeScannerRange.h.

void MergeScannerRange::forward ( )

Definition at line 89 of file MergeScannerRange.cc.

bool MergeScannerRange::get ( Key key,
ByteString value 
)

Definition at line 232 of file MergeScannerRange.cc.

int64_t MergeScannerRange::get_disk_read ( )

Definition at line 334 of file MergeScannerRange.cc.

int64_t MergeScannerRange::get_input_bytes ( )

Returns number of bytes input.

Calls MergeScannerAccessGroup::get_input_bytes() on each scanner in m_scanners and returns the aggregated result.

Returns
number of bytes input.

Definition at line 327 of file MergeScannerRange.cc.

int64_t MergeScannerRange::get_input_cells ( )

Returns number of cells input.

Calls MergeScannerAccessGroup::get_input_cells() on each scanner in m_scanners and returns the aggregated result.

Returns
number of cells input.

Definition at line 320 of file MergeScannerRange.cc.

int64_t Hypertable::MergeScannerRange::get_output_bytes ( )
inline

Returns number of bytes output.

Returns number of bytes returned via calls to get().

Returns
Number of cells output.

Definition at line 89 of file MergeScannerRange.h.

int64_t Hypertable::MergeScannerRange::get_output_cells ( )
inline

Returns number of cells output.

Returns number of cells returned via calls to get().

Returns
Number of cells output.

Definition at line 78 of file MergeScannerRange.h.

int32_t Hypertable::MergeScannerRange::get_skipped_cells ( )
inline

Definition at line 65 of file MergeScannerRange.h.

int32_t Hypertable::MergeScannerRange::get_skipped_rows ( )
inline

Definition at line 67 of file MergeScannerRange.h.

void MergeScannerRange::initialize ( )
private

Definition at line 251 of file MergeScannerRange.cc.

ScanContext* Hypertable::MergeScannerRange::scan_context ( )
inline

Definition at line 93 of file MergeScannerRange.h.

Member Data Documentation

int64_t Hypertable::MergeScannerRange::m_bytes_output {}
private

Definition at line 141 of file MergeScannerRange.h.

int32_t Hypertable::MergeScannerRange::m_cell_count {}
private

Definition at line 131 of file MergeScannerRange.h.

int32_t Hypertable::MergeScannerRange::m_cell_count_per_family {}
private

Definition at line 137 of file MergeScannerRange.h.

int32_t Hypertable::MergeScannerRange::m_cell_limit {}
private

Definition at line 132 of file MergeScannerRange.h.

int32_t Hypertable::MergeScannerRange::m_cell_limit_per_family {}
private

Definition at line 138 of file MergeScannerRange.h.

int32_t Hypertable::MergeScannerRange::m_cell_offset {}
private

Definition at line 129 of file MergeScannerRange.h.

int32_t Hypertable::MergeScannerRange::m_cell_skipped {}
private

Definition at line 130 of file MergeScannerRange.h.

int64_t Hypertable::MergeScannerRange::m_cells_output {}
private

Definition at line 142 of file MergeScannerRange.h.

bool Hypertable::MergeScannerRange::m_done {}
private

Flag indicating scan is finished.

Definition at line 122 of file MergeScannerRange.h.

IndexUpdaterPtr Hypertable::MergeScannerRange::m_index_updater
private

Index updater for rebuild indices scan.

Definition at line 119 of file MergeScannerRange.h.

bool Hypertable::MergeScannerRange::m_initialized {}
private

Flag indicating if scan has been initialized.

Definition at line 125 of file MergeScannerRange.h.

int32_t Hypertable::MergeScannerRange::m_prev_cf {-1}
private

Definition at line 139 of file MergeScannerRange.h.

DynamicBuffer Hypertable::MergeScannerRange::m_prev_key
private

Definition at line 143 of file MergeScannerRange.h.

int64_t Hypertable::MergeScannerRange::m_prev_timestamp {TIMESTAMP_NULL}
private

Definition at line 140 of file MergeScannerRange.h.

std::priority_queue<ScannerState, std::vector<ScannerState>, LtScannerState> Hypertable::MergeScannerRange::m_queue
private

Definition at line 113 of file MergeScannerRange.h.

int32_t Hypertable::MergeScannerRange::m_row_count {}
private

Definition at line 135 of file MergeScannerRange.h.

int32_t Hypertable::MergeScannerRange::m_row_limit {}
private

Definition at line 136 of file MergeScannerRange.h.

int32_t Hypertable::MergeScannerRange::m_row_offset {}
private

Definition at line 133 of file MergeScannerRange.h.

int32_t Hypertable::MergeScannerRange::m_row_skipped {}
private

Definition at line 134 of file MergeScannerRange.h.

ScanContextPtr Hypertable::MergeScannerRange::m_scan_context
private

Scan context.

Definition at line 116 of file MergeScannerRange.h.

std::vector<MergeScannerAccessGroup *> Hypertable::MergeScannerRange::m_scanners
private

Definition at line 111 of file MergeScannerRange.h.

bool Hypertable::MergeScannerRange::m_skip_this_row {}
private

Definition at line 127 of file MergeScannerRange.h.


The documentation for this class was generated from the following files: