#include <CellStoreBlockIndexArray.h>
Public Types | |
typedef Hypertable::CellStoreBlockIndexIteratorArray < OffsetT > | iterator |
typedef Hypertable::CellStoreBlockIndexElementArray < OffsetT > | ElementT |
typedef Hypertable::LtCellStoreBlockIndexElementArray < OffsetT > | LtT |
typedef std::vector< ElementT > | ArrayT |
typedef std::vector< ElementT > ::iterator | ArrayIteratorT |
Public Member Functions | |
CellStoreBlockIndexArray () | |
void | load (DynamicBuffer &fixed, DynamicBuffer &variable, int64_t end_of_data, const String &start_row="", const String &end_row="") |
void | rescope (const String &start_row="", const String &end_row="") |
void | display () |
void | unique_row_count_estimate (CellList::SplitRowDataMapT &split_row_data, int32_t keys_per_block) |
Accumulates unique row estimates from block index entries. More... | |
void | populate_pseudo_table_scanner (CellListScannerBuffer *scanner, const String &filename, int32_t keys_per_block, float compression_ratio) |
Populates scanner with data for .cellstore.index pseudo table. More... | |
size_t | memory_used () |
int64_t | disk_used () |
double | fraction_covered () |
int64_t | end_of_last_block () |
int64_t | index_entries () |
iterator | begin () |
iterator | end () |
iterator | lower_bound (const SerializedKey &k) |
iterator | upper_bound (const SerializedKey &k) |
void | clear () |
Private Attributes | |
ArrayT | m_array |
StaticBuffer | m_keydata |
SerializedKey | m_middle_key |
OffsetT | m_end_of_last_block |
OffsetT | m_disk_used |
OffsetT | m_maximum_entries |
Definition at line 101 of file CellStoreBlockIndexArray.h.
typedef std::vector<ElementT>::iterator Hypertable::CellStoreBlockIndexArray< OffsetT >::ArrayIteratorT |
Definition at line 107 of file CellStoreBlockIndexArray.h.
typedef std::vector<ElementT> Hypertable::CellStoreBlockIndexArray< OffsetT >::ArrayT |
Definition at line 106 of file CellStoreBlockIndexArray.h.
typedef Hypertable::CellStoreBlockIndexElementArray<OffsetT> Hypertable::CellStoreBlockIndexArray< OffsetT >::ElementT |
Definition at line 104 of file CellStoreBlockIndexArray.h.
typedef Hypertable::CellStoreBlockIndexIteratorArray<OffsetT> Hypertable::CellStoreBlockIndexArray< OffsetT >::iterator |
Definition at line 103 of file CellStoreBlockIndexArray.h.
typedef Hypertable::LtCellStoreBlockIndexElementArray<OffsetT> Hypertable::CellStoreBlockIndexArray< OffsetT >::LtT |
Definition at line 105 of file CellStoreBlockIndexArray.h.
|
inline |
Definition at line 109 of file CellStoreBlockIndexArray.h.
|
inline |
Definition at line 390 of file CellStoreBlockIndexArray.h.
|
inline |
Definition at line 408 of file CellStoreBlockIndexArray.h.
|
inline |
Definition at line 379 of file CellStoreBlockIndexArray.h.
|
inline |
Definition at line 219 of file CellStoreBlockIndexArray.h.
|
inline |
Definition at line 394 of file CellStoreBlockIndexArray.h.
|
inline |
Definition at line 386 of file CellStoreBlockIndexArray.h.
|
inline |
Definition at line 381 of file CellStoreBlockIndexArray.h.
|
inline |
Definition at line 388 of file CellStoreBlockIndexArray.h.
|
inline |
Definition at line 111 of file CellStoreBlockIndexArray.h.
|
inline |
Definition at line 398 of file CellStoreBlockIndexArray.h.
|
inline |
Definition at line 375 of file CellStoreBlockIndexArray.h.
|
inline |
Populates scanner
with data for .cellstore.index pseudo table.
This method synthesizes the following .cellstore.index pseudo-table cells, for each in-scope block index entry:
keys_per_block
)Each key is formed by taking the row, timestamp, and revision from the block index key, using FLAG_INSERT as the flag, and constructing the column qualifier as follows:
<cellstore-filename> ':' <hex-offset>
As an example, a single block index entry might generate the following cells in TSV format:
help@ Size:2/2/default/ZwmE_ShYJKgim-IL/cs103:00028A61 171728 acme .comhelp@ CompressedSize:2/2/default/ZwmE_ShYJKgim-IL/cs103:00028A61 65231 acme .comhelp@ KeyCount:2/2/default/ZwmE_ShYJKgim-IL/cs103:00028A61 281 acme .com
scanner | Pointer to CellListScannerBuffer to hold data |
filename | Name of associated CellStore file |
keys_per_block | Estimate of number of keys per block |
compression_ratio | Block compression ratio for associated CellStore file |
Definition at line 301 of file CellStoreBlockIndexArray.h.
|
inline |
Definition at line 199 of file CellStoreBlockIndexArray.h.
|
inline |
Accumulates unique row estimates from block index entries.
split_row_data | Reference to accumulator map holding unique row and count estimates |
keys_per_block | Key count to add for each index entry |
Definition at line 247 of file CellStoreBlockIndexArray.h.
|
inline |
Definition at line 403 of file CellStoreBlockIndexArray.h.
|
private |
Definition at line 416 of file CellStoreBlockIndexArray.h.
|
private |
Definition at line 420 of file CellStoreBlockIndexArray.h.
|
private |
Definition at line 419 of file CellStoreBlockIndexArray.h.
|
private |
Definition at line 417 of file CellStoreBlockIndexArray.h.
|
private |
Definition at line 421 of file CellStoreBlockIndexArray.h.
|
private |
Definition at line 418 of file CellStoreBlockIndexArray.h.