libfoedus-core
FOEDUS Core Library
|
A chunk of records returned by SequentialCursor. More...
A chunk of records returned by SequentialCursor.
SequentialCursor tends to return a huge number of records. For better performance, we return a page-full of records at a time.
For now, as an optimization, this struct has the exact same format as SequentialPage, which is an internal implementation detail. On the other hand, this struct is an API. We keep them separate as the internal page representation might change in future.
Definition at line 339 of file sequential_cursor.hpp.
#include <sequential_cursor.hpp>
Public Member Functions | |
uint16_t | get_record_count () const |
uint16_t | get_record_length (uint16_t index) const |
const xct::RwLockableXctId * | get_owner_id_from_offset (uint16_t offset) const |
const char * | get_payload_from_offset (uint16_t offset) const |
Epoch | get_epoch_from_offset (uint16_t offset) const |
Public Attributes | |
PageHeader | header_ |
uint16_t | record_count_ |
uint16_t | used_data_bytes_ |
uint32_t | filler_ |
DualPagePointer | next_page_ |
Pointer to next page. More... | |
char | data_ [kDataSize] |
Dynamic data part in this page, which consist of 1) record part growing forward, 2) unused part, and 3) payload lengthes part growing backward. More... | |
|
inline |
Definition at line 372 of file sequential_cursor.hpp.
References foedus::xct::XctId::get_epoch(), get_owner_id_from_offset(), and foedus::xct::RwLockableXctId::xct_id_.
Referenced by foedus::storage::sequential::SequentialRecordIterator::next(), and foedus::storage::sequential::SequentialRecordIterator::SequentialRecordIterator().
|
inline |
Definition at line 364 of file sequential_cursor.hpp.
References ASSERT_ND, and foedus::storage::sequential::kDataSize.
Referenced by foedus::storage::sequential::SequentialRecordIterator::get_cur_record_owner_id(), and get_epoch_from_offset().
|
inline |
Definition at line 368 of file sequential_cursor.hpp.
References ASSERT_ND, and foedus::storage::sequential::kDataSize.
Referenced by foedus::storage::sequential::SequentialRecordIterator::get_cur_record_raw().
|
inline |
Definition at line 359 of file sequential_cursor.hpp.
References record_count_.
|
inline |
Definition at line 360 of file sequential_cursor.hpp.
References ASSERT_ND, and data_.
Referenced by foedus::storage::sequential::SequentialRecordIterator::next(), and foedus::storage::sequential::SequentialRecordIterator::SequentialRecordIterator().
char foedus::storage::sequential::SequentialRecordBatch::data_[kDataSize] |
Dynamic data part in this page, which consist of 1) record part growing forward, 2) unused part, and 3) payload lengthes part growing backward.
Definition at line 356 of file sequential_cursor.hpp.
Referenced by get_record_length().
uint32_t foedus::storage::sequential::SequentialRecordBatch::filler_ |
Definition at line 344 of file sequential_cursor.hpp.
PageHeader foedus::storage::sequential::SequentialRecordBatch::header_ |
Definition at line 340 of file sequential_cursor.hpp.
DualPagePointer foedus::storage::sequential::SequentialRecordBatch::next_page_ |
Pointer to next page.
Once it is set, the pointer and the pointed page will never be changed.
Definition at line 350 of file sequential_cursor.hpp.
uint16_t foedus::storage::sequential::SequentialRecordBatch::record_count_ |
Definition at line 342 of file sequential_cursor.hpp.
Referenced by get_record_count().
uint16_t foedus::storage::sequential::SequentialRecordBatch::used_data_bytes_ |
Definition at line 343 of file sequential_cursor.hpp.