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

Merge scanner for access groups. More...

#include <MergeScannerAccessGroup.h>

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

Classes

struct  LtScannerState
 
class  RegexpInfo
 
struct  ScannerState
 

Public Types

enum  Flags { RETURN_DELETES = 0x00000001, IS_COMPACTION = 0x00000002, ACCUMULATE_COUNTERS = 0x00000004 }
 

Public Member Functions

 MergeScannerAccessGroup (String &table_name, ScanContext *scan_ctx, uint32_t flags=0)
 Constructor. More...
 
virtual ~MergeScannerAccessGroup ()
 Destructor. More...
 
void add_scanner (CellListScannerPtr scanner)
 
void forward ()
 
bool get (Key &key, ByteString &value)
 
uint32_t get_flags ()
 
void install_release_callback (CellStoreReleaseCallback &cb)
 
void io_add_input_cell (int64_t cur_bytes)
 
void io_add_output_cell (int64_t cur_bytes)
 
int64_t get_input_cells ()
 
int64_t get_output_cells ()
 
int64_t get_input_bytes ()
 
int64_t get_output_bytes ()
 
void add_disk_read (int64_t amount)
 
int64_t get_disk_read ()
 

Private Member Functions

void initialize ()
 
bool matches_deleted_row (const Key &key) const
 
void update_deleted_row (const Key &key)
 
bool matches_deleted_column_family (const Key &key) const
 
void update_deleted_column_family (const Key &key)
 
bool matches_deleted_cell (const Key &key) const
 
void update_deleted_cell (const Key &key)
 
bool matches_deleted_cell_version (const Key &key) const
 
void update_deleted_cell_version (const Key &key)
 
bool matches_counted_key (const Key &key) const
 
void increment_count (const Key &key, const ByteString &value)
 
void finish_count ()
 
void start_count (const Key &key, const ByteString &value)
 
void purge_from_index (const Key &key, const ByteString &value)
 

Private Attributes

CellStoreReleaseCallback m_release_callback
 
uint32_t m_flags {}
 
bool m_done {}
 
bool m_initialized {}
 
std::vector< CellListScannerPtrm_scanners
 
std::priority_queue
< ScannerState, std::vector
< ScannerState >
, LtScannerState
m_queue
 
int64_t m_bytes_input {}
 
int64_t m_bytes_output {}
 
int64_t m_cells_input {}
 
int64_t m_cells_output {}
 
int64_t m_disk_read {}
 
bool m_return_deletes
 
bool m_accumulate_counters
 
uint32_t m_revs_count {}
 
uint32_t m_revs_limit {}
 
DynamicBuffer m_prev_key {}
 
int32_t m_prev_cf
 
bool m_no_forward {}
 
bool m_count_present {}
 
bool m_skip_remaining_counter {}
 
DynamicBuffer m_counted_key_buffer
 
uint64_t m_count
 
Key m_counted_key
 
DynamicBuffer m_counted_value
 
int64_t m_start_timestamp
 
int64_t m_end_timestamp
 
int64_t m_revision
 
RegexpInfo m_regexp_cache
 
bool m_delete_present {}
 
DynamicBuffer m_deleted_row {}
 
int64_t m_deleted_row_timestamp
 
DynamicBuffer m_deleted_column_family {}
 
int64_t m_deleted_column_family_timestamp
 
DynamicBuffer m_deleted_cell {}
 
int64_t m_deleted_cell_timestamp
 
DynamicBuffer m_deleted_cell_version {}
 
std::set< int64_t > m_deleted_cell_version_set
 
IndexUpdaterPtr m_index_updater
 
ScanContextm_scan_context
 

Detailed Description

Merge scanner for access groups.

Definition at line 50 of file MergeScannerAccessGroup.h.

Constructor & Destructor Documentation

MergeScannerAccessGroup::MergeScannerAccessGroup ( String table_name,
ScanContext scan_ctx,
uint32_t  flags = 0 
)

Constructor.

Parameters
table_nameTable name
scan_ctxScan context
flagsFlags

Definition at line 39 of file MergeScannerAccessGroup.cc.

MergeScannerAccessGroup::~MergeScannerAccessGroup ( )
virtual

Destructor.

Destroys all scanners in m_scanners and then calls m_release_callback

Definition at line 77 of file MergeScannerAccessGroup.cc.

Member Function Documentation

void Hypertable::MergeScannerAccessGroup::add_disk_read ( int64_t  amount)
inline

Definition at line 155 of file MergeScannerAccessGroup.h.

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

Definition at line 125 of file MergeScannerAccessGroup.h.

void Hypertable::MergeScannerAccessGroup::finish_count ( )
inlineprivate

Definition at line 279 of file MergeScannerAccessGroup.h.

void MergeScannerAccessGroup::forward ( )

Definition at line 88 of file MergeScannerAccessGroup.cc.

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

Definition at line 355 of file MergeScannerAccessGroup.cc.

int64_t MergeScannerAccessGroup::get_disk_read ( )

Definition at line 382 of file MergeScannerAccessGroup.cc.

uint32_t Hypertable::MergeScannerAccessGroup::get_flags ( )
inline

Definition at line 133 of file MergeScannerAccessGroup.h.

int64_t Hypertable::MergeScannerAccessGroup::get_input_bytes ( )
inline

Definition at line 152 of file MergeScannerAccessGroup.h.

int64_t Hypertable::MergeScannerAccessGroup::get_input_cells ( )
inline

Definition at line 149 of file MergeScannerAccessGroup.h.

int64_t Hypertable::MergeScannerAccessGroup::get_output_bytes ( )
inline

Definition at line 153 of file MergeScannerAccessGroup.h.

int64_t Hypertable::MergeScannerAccessGroup::get_output_cells ( )
inline

Definition at line 150 of file MergeScannerAccessGroup.h.

void Hypertable::MergeScannerAccessGroup::increment_count ( const Key key,
const ByteString value 
)
inlineprivate

Definition at line 260 of file MergeScannerAccessGroup.h.

void MergeScannerAccessGroup::initialize ( )
private

Definition at line 390 of file MergeScannerAccessGroup.cc.

void Hypertable::MergeScannerAccessGroup::install_release_callback ( CellStoreReleaseCallback cb)
inline

Definition at line 135 of file MergeScannerAccessGroup.h.

void Hypertable::MergeScannerAccessGroup::io_add_input_cell ( int64_t  cur_bytes)
inline

Definition at line 139 of file MergeScannerAccessGroup.h.

void Hypertable::MergeScannerAccessGroup::io_add_output_cell ( int64_t  cur_bytes)
inline

Definition at line 144 of file MergeScannerAccessGroup.h.

bool Hypertable::MergeScannerAccessGroup::matches_counted_key ( const Key key) const
inlineprivate

Definition at line 252 of file MergeScannerAccessGroup.h.

bool Hypertable::MergeScannerAccessGroup::matches_deleted_cell ( const Key key) const
inlineprivate

Definition at line 207 of file MergeScannerAccessGroup.h.

bool Hypertable::MergeScannerAccessGroup::matches_deleted_cell_version ( const Key key) const
inlineprivate

Definition at line 229 of file MergeScannerAccessGroup.h.

bool Hypertable::MergeScannerAccessGroup::matches_deleted_column_family ( const Key key) const
inlineprivate

Definition at line 184 of file MergeScannerAccessGroup.h.

bool Hypertable::MergeScannerAccessGroup::matches_deleted_row ( const Key key) const
inlineprivate

Definition at line 162 of file MergeScannerAccessGroup.h.

void Hypertable::MergeScannerAccessGroup::purge_from_index ( const Key key,
const ByteString value 
)
inlineprivate

Definition at line 308 of file MergeScannerAccessGroup.h.

void Hypertable::MergeScannerAccessGroup::start_count ( const Key key,
const ByteString value 
)
inlineprivate

Definition at line 293 of file MergeScannerAccessGroup.h.

void Hypertable::MergeScannerAccessGroup::update_deleted_cell ( const Key key)
inlineprivate

Definition at line 219 of file MergeScannerAccessGroup.h.

void Hypertable::MergeScannerAccessGroup::update_deleted_cell_version ( const Key key)
inlineprivate

Definition at line 242 of file MergeScannerAccessGroup.h.

void Hypertable::MergeScannerAccessGroup::update_deleted_column_family ( const Key key)
inlineprivate

Definition at line 197 of file MergeScannerAccessGroup.h.

void Hypertable::MergeScannerAccessGroup::update_deleted_row ( const Key key)
inlineprivate

Definition at line 174 of file MergeScannerAccessGroup.h.

Member Data Documentation

bool Hypertable::MergeScannerAccessGroup::m_accumulate_counters
private

Definition at line 334 of file MergeScannerAccessGroup.h.

int64_t Hypertable::MergeScannerAccessGroup::m_bytes_input {}
private

Definition at line 325 of file MergeScannerAccessGroup.h.

int64_t Hypertable::MergeScannerAccessGroup::m_bytes_output {}
private

Definition at line 326 of file MergeScannerAccessGroup.h.

int64_t Hypertable::MergeScannerAccessGroup::m_cells_input {}
private

Definition at line 327 of file MergeScannerAccessGroup.h.

int64_t Hypertable::MergeScannerAccessGroup::m_cells_output {}
private

Definition at line 328 of file MergeScannerAccessGroup.h.

uint64_t Hypertable::MergeScannerAccessGroup::m_count
private

Definition at line 348 of file MergeScannerAccessGroup.h.

bool Hypertable::MergeScannerAccessGroup::m_count_present {}
private

Definition at line 345 of file MergeScannerAccessGroup.h.

Key Hypertable::MergeScannerAccessGroup::m_counted_key
private

Definition at line 349 of file MergeScannerAccessGroup.h.

DynamicBuffer Hypertable::MergeScannerAccessGroup::m_counted_key_buffer
private

Definition at line 347 of file MergeScannerAccessGroup.h.

DynamicBuffer Hypertable::MergeScannerAccessGroup::m_counted_value
private

Definition at line 350 of file MergeScannerAccessGroup.h.

bool Hypertable::MergeScannerAccessGroup::m_delete_present {}
private

Definition at line 355 of file MergeScannerAccessGroup.h.

DynamicBuffer Hypertable::MergeScannerAccessGroup::m_deleted_cell {}
private

Definition at line 360 of file MergeScannerAccessGroup.h.

int64_t Hypertable::MergeScannerAccessGroup::m_deleted_cell_timestamp
private

Definition at line 361 of file MergeScannerAccessGroup.h.

DynamicBuffer Hypertable::MergeScannerAccessGroup::m_deleted_cell_version {}
private

Definition at line 362 of file MergeScannerAccessGroup.h.

std::set<int64_t> Hypertable::MergeScannerAccessGroup::m_deleted_cell_version_set
private

Definition at line 363 of file MergeScannerAccessGroup.h.

DynamicBuffer Hypertable::MergeScannerAccessGroup::m_deleted_column_family {}
private

Definition at line 358 of file MergeScannerAccessGroup.h.

int64_t Hypertable::MergeScannerAccessGroup::m_deleted_column_family_timestamp
private

Definition at line 359 of file MergeScannerAccessGroup.h.

DynamicBuffer Hypertable::MergeScannerAccessGroup::m_deleted_row {}
private

Definition at line 356 of file MergeScannerAccessGroup.h.

int64_t Hypertable::MergeScannerAccessGroup::m_deleted_row_timestamp
private

Definition at line 357 of file MergeScannerAccessGroup.h.

int64_t Hypertable::MergeScannerAccessGroup::m_disk_read {}
private

Definition at line 329 of file MergeScannerAccessGroup.h.

bool Hypertable::MergeScannerAccessGroup::m_done {}
private

Definition at line 317 of file MergeScannerAccessGroup.h.

int64_t Hypertable::MergeScannerAccessGroup::m_end_timestamp
private

Definition at line 352 of file MergeScannerAccessGroup.h.

uint32_t Hypertable::MergeScannerAccessGroup::m_flags {}
private

Definition at line 316 of file MergeScannerAccessGroup.h.

IndexUpdaterPtr Hypertable::MergeScannerAccessGroup::m_index_updater
private

Definition at line 364 of file MergeScannerAccessGroup.h.

bool Hypertable::MergeScannerAccessGroup::m_initialized {}
private

Definition at line 318 of file MergeScannerAccessGroup.h.

bool Hypertable::MergeScannerAccessGroup::m_no_forward {}
private

Definition at line 344 of file MergeScannerAccessGroup.h.

int32_t Hypertable::MergeScannerAccessGroup::m_prev_cf
private

Definition at line 343 of file MergeScannerAccessGroup.h.

DynamicBuffer Hypertable::MergeScannerAccessGroup::m_prev_key {}
private

Definition at line 342 of file MergeScannerAccessGroup.h.

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

Definition at line 322 of file MergeScannerAccessGroup.h.

RegexpInfo Hypertable::MergeScannerAccessGroup::m_regexp_cache
private

Definition at line 354 of file MergeScannerAccessGroup.h.

CellStoreReleaseCallback Hypertable::MergeScannerAccessGroup::m_release_callback
private

Definition at line 314 of file MergeScannerAccessGroup.h.

bool Hypertable::MergeScannerAccessGroup::m_return_deletes
private

Definition at line 333 of file MergeScannerAccessGroup.h.

int64_t Hypertable::MergeScannerAccessGroup::m_revision
private

Definition at line 353 of file MergeScannerAccessGroup.h.

uint32_t Hypertable::MergeScannerAccessGroup::m_revs_count {}
private

Definition at line 339 of file MergeScannerAccessGroup.h.

uint32_t Hypertable::MergeScannerAccessGroup::m_revs_limit {}
private

Definition at line 340 of file MergeScannerAccessGroup.h.

ScanContext* Hypertable::MergeScannerAccessGroup::m_scan_context
private

Definition at line 366 of file MergeScannerAccessGroup.h.

std::vector<CellListScannerPtr> Hypertable::MergeScannerAccessGroup::m_scanners
private

Definition at line 320 of file MergeScannerAccessGroup.h.

bool Hypertable::MergeScannerAccessGroup::m_skip_remaining_counter {}
private

Definition at line 346 of file MergeScannerAccessGroup.h.

int64_t Hypertable::MergeScannerAccessGroup::m_start_timestamp
private

Definition at line 351 of file MergeScannerAccessGroup.h.


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