Abstract base class for cell lists (sorted lists of key/value pairs). More...
#include <CellList.h>
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 |
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.
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.
|
inlinevirtual |
Definition at line 44 of file CellList.h.
|
pure virtual |
Inserts a key/value pair into the cell list.
key | key object |
value | ByteString representing value |
Implemented in Hypertable::CellStoreV6, Hypertable::CellStoreV7, Hypertable::CellStoreV3, Hypertable::CellStoreV4, Hypertable::CellStoreV5, Hypertable::CellStoreV2, Hypertable::CellCache, Hypertable::CellStoreV1, Hypertable::CellStore, and Hypertable::CellStoreV0.
|
inlinevirtual |
Creates a scanner on this cell list.
scan_ctx | smart pointer to scan context |
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.
|
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.
Definition at line 96 of file CellList.h.
|
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.
Definition at line 86 of file CellList.h.
|
inlinevirtual |
Populates split_row_data
with unique row and count estimates for this list.
split_row_data | Reference to accumulator map holding estimate of unique rows and counts. |
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.
|
protected |
Definition at line 100 of file CellList.h.
|
protected |
Definition at line 99 of file CellList.h.