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

Abstract base class for cell lists (sorted lists of key/value pairs). More...

#include <CellList.h>

Inheritance diagram for Hypertable::CellList:
Inheritance graph
[legend]
Collaboration diagram for Hypertable::CellList:
Collaboration graph
[legend]

Public Types

typedef std::pair< const char
*, int64_t > 
SplitRowDataValue
 
typedef StlAllocator
< SplitRowDataValue
SplitRowDataAlloc
 
typedef std::map< const char
*, int64_t, LtCstr,
SplitRowDataAlloc
SplitRowDataMapT
 

Public Member Functions

virtual ~CellList ()
 
virtual void add (const Key &key, const ByteString value)=0
 Inserts a key/value pair into the cell list. More...
 
virtual CellListScannerPtr create_scanner (ScanContext *scan_ctx)
 Creates a scanner on this cell list. More...
 
virtual void split_row_estimate_data (SplitRowDataMapT &split_row_data)
 Populates split_row_data with unique row and count estimates for this list. More...
 
virtual const char * get_start_row ()
 Returns the start row of this cell list. More...
 
virtual const char * get_end_row ()
 Returns the end row of this cell list. More...
 

Protected Attributes

std::string m_start_row
 
std::string m_end_row
 

Detailed Description

Abstract base class for cell lists (sorted lists of key/value pairs).

Cell lists include cell stores and cell caches.

Definition at line 42 of file CellList.h.

Member Typedef Documentation

Definition at line 64 of file CellList.h.

typedef std::map<const char *, int64_t, LtCstr, SplitRowDataAlloc> Hypertable::CellList::SplitRowDataMapT

Definition at line 66 of file CellList.h.

typedef std::pair<const char *, int64_t> Hypertable::CellList::SplitRowDataValue

Definition at line 63 of file CellList.h.

Constructor & Destructor Documentation

virtual Hypertable::CellList::~CellList ( )
inlinevirtual

Definition at line 44 of file CellList.h.

Member Function Documentation

virtual void Hypertable::CellList::add ( const Key key,
const ByteString  value 
)
pure virtual
virtual CellListScannerPtr Hypertable::CellList::create_scanner ( ScanContext scan_ctx)
inlinevirtual

Creates a scanner on this cell list.

Parameters
scan_ctxsmart pointer to scan context
Returns
pointer to newly allocated scanner

Reimplemented in Hypertable::CellStoreV6, Hypertable::CellStoreV7, Hypertable::CellStoreV3, Hypertable::CellStoreV4, Hypertable::CellStoreV2, Hypertable::CellStoreV1, Hypertable::CellStore, Hypertable::CellStoreV5, Hypertable::CellCache, and Hypertable::CellStoreV0.

Definition at line 61 of file CellList.h.

virtual const char* Hypertable::CellList::get_end_row ( )
inlinevirtual

Returns the end row of this cell list.

This value is used to restrict the end range of the cell list to values that are less than or equal to this row key. It is used in cell stores to allow them to be shared after a split.

Returns
the row key of the end row (inclusive)

Definition at line 96 of file CellList.h.

virtual const char* Hypertable::CellList::get_start_row ( )
inlinevirtual

Returns the start row of this cell list.

This value is used to restrict the start range of the cell list to values that are greater than this row key. It is used in cell stores to allow them to be shared after a split.

Returns
the row key of the start row (not inclusive)

Definition at line 86 of file CellList.h.

virtual void Hypertable::CellList::split_row_estimate_data ( SplitRowDataMapT split_row_data)
inlinevirtual

Populates split_row_data with unique row and count estimates for this list.

Parameters
split_row_dataReference to accumulator map holding estimate of unique rows and counts.
Note
split_row_data should not be cleared

Reimplemented in Hypertable::CellStoreV6, Hypertable::CellStoreV7, Hypertable::CellStoreV5, Hypertable::CellStore, and Hypertable::CellCache.

Definition at line 74 of file CellList.h.

Member Data Documentation

std::string Hypertable::CellList::m_end_row
protected

Definition at line 100 of file CellList.h.

std::string Hypertable::CellList::m_start_row
protected

Definition at line 99 of file CellList.h.


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