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

This class takes allows vector access to a set of cells contained in an EventPtr without any copying. More...

#include <ScanCells.h>

Collaboration diagram for Hypertable::Lib::ScanCells:
Collaboration graph
[legend]

Public Member Functions

 ScanCells ()
 
void get (Cells &cells)
 
void get_cell_unchecked (Cell &cc, size_t ii)
 
void set_eos (bool eos=true)
 
bool get_eos () const
 
size_t size () const
 
bool empty () const
 
size_t memory_used () const
 
ProfileDataScannerprofile_data ()
 Returns reference to profile data. More...
 
bool add (EventPtr &event, int *scanner_id)
 Adds key/value pairs from scan result. More...
 
void add (Cell &cell, bool own=true)
 adds a new cell to the internal cell buffer this is an internal method required by IndexScannerCallback More...
 
bool load (SchemaPtr &schema, const std::string &end_row, bool end_inclusive, ScanLimitState *limit_state, CstrSet &rowset, int64_t *bytes_scanned, Key *lastkey)
 
int get_skipped_rows ()
 get number of rows that were skipped because of an OFFSET predicate More...
 
int get_skipped_cells ()
 get number of cells that were skipped because of a CELL_OFFSET predicate More...
 

Protected Attributes

vector< ScanBlockPtrm_scanblocks
 
CellsBuilderPtr m_cells
 
ProfileDataScanner m_profile_data
 
bool m_eos {}
 

Detailed Description

This class takes allows vector access to a set of cells contained in an EventPtr without any copying.

Definition at line 46 of file ScanCells.h.

Constructor & Destructor Documentation

Hypertable::Lib::ScanCells::ScanCells ( )
inline

Definition at line 49 of file ScanCells.h.

Member Function Documentation

bool ScanCells::add ( EventPtr event,
int *  scanner_id 
)

Adds key/value pairs from scan result.

Parameters
eventthe event that contains the scan results
scanner_idscanner_id for the scanner
Returns
true if this if this event has the eos bit set

Aggregate profile data

Definition at line 30 of file ScanCells.cc.

void ScanCells::add ( Cell cell,
bool  own = true 
)

adds a new cell to the internal cell buffer this is an internal method required by IndexScannerCallback

Definition at line 153 of file ScanCells.cc.

bool Hypertable::Lib::ScanCells::empty ( ) const
inline

Definition at line 69 of file ScanCells.h.

void Hypertable::Lib::ScanCells::get ( Cells cells)
inline

Definition at line 51 of file ScanCells.h.

void Hypertable::Lib::ScanCells::get_cell_unchecked ( Cell cc,
size_t  ii 
)
inline

Definition at line 59 of file ScanCells.h.

bool Hypertable::Lib::ScanCells::get_eos ( ) const
inline

Definition at line 61 of file ScanCells.h.

int Hypertable::Lib::ScanCells::get_skipped_cells ( )
inline

get number of cells that were skipped because of a CELL_OFFSET predicate

Definition at line 126 of file ScanCells.h.

int Hypertable::Lib::ScanCells::get_skipped_rows ( )
inline

get number of rows that were skipped because of an OFFSET predicate

Definition at line 115 of file ScanCells.h.

bool ScanCells::load ( SchemaPtr schema,
const std::string &  end_row,
bool  end_inclusive,
ScanLimitState limit_state,
CstrSet rowset,
int64_t *  bytes_scanned,
Key lastkey 
)
Parameters
schemais the schema for the table being scanned
end_rowthe end_row of the scan for which we got these results
end_inclusiveis the end_row included in the scan
limit_statePointer to ScanLimitState
rowsetReference to set of rows to be selected
bytes_scannednumber of bytes read
lastkeyReturn pointer to last key in block
Returns
true if scan has reached end

Definition at line 44 of file ScanCells.cc.

size_t Hypertable::Lib::ScanCells::memory_used ( ) const
inline

Definition at line 73 of file ScanCells.h.

ProfileDataScanner& Hypertable::Lib::ScanCells::profile_data ( )
inline

Returns reference to profile data.

Returns
Reference to profile data

Definition at line 83 of file ScanCells.h.

void Hypertable::Lib::ScanCells::set_eos ( bool  eos = true)
inline

Definition at line 60 of file ScanCells.h.

size_t Hypertable::Lib::ScanCells::size ( ) const
inline

Definition at line 62 of file ScanCells.h.

Member Data Documentation

CellsBuilderPtr Hypertable::Lib::ScanCells::m_cells
protected

Definition at line 137 of file ScanCells.h.

bool Hypertable::Lib::ScanCells::m_eos {}
protected

Definition at line 139 of file ScanCells.h.

ProfileDataScanner Hypertable::Lib::ScanCells::m_profile_data
protected

Definition at line 138 of file ScanCells.h.

vector<ScanBlockPtr> Hypertable::Lib::ScanCells::m_scanblocks
protected

Definition at line 136 of file ScanCells.h.


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