libfoedus-core
FOEDUS Core Library
|
Represents one data page in Array Storage. More...
Represents one data page in Array Storage.
This is a private implementation-details of Array Storage, thus file name ends with _impl. Do not include this header from a client program unless you know what you are doing.
Definition at line 46 of file array_page_impl.hpp.
#include <array_page_impl.hpp>
Classes | |
union | Data |
Data union for either leaf (dynamic size) or interior (fixed size). More... | |
Public Member Functions | |
ArrayPage ()=delete | |
ArrayPage (const ArrayPage &other)=delete | |
ArrayPage & | operator= (const ArrayPage &other)=delete |
PageHeader & | header () |
const PageHeader & | header () const |
StorageId | get_storage_id () const |
uint16_t | get_leaf_record_count () const |
uint16_t | get_payload_size () const |
bool | is_leaf () const |
uint8_t | get_level () const |
const ArrayRange & | get_array_range () const |
void | initialize_snapshot_page (Epoch initial_epoch, StorageId storage_id, SnapshotPagePointer page_id, uint16_t payload_size, uint8_t level, const ArrayRange &array_range) |
Called only when this page is initialized. More... | |
void | initialize_volatile_page (Epoch initial_epoch, StorageId storage_id, VolatilePagePointer page_id, uint16_t payload_size, uint8_t level, const ArrayRange &array_range) |
const Record * | get_leaf_record (uint16_t record, uint16_t payload_size) const __attribute__((always_inline)) |
Record * | get_leaf_record (uint16_t record, uint16_t payload_size) __attribute__((always_inline)) |
const DualPagePointer & | get_interior_record (uint16_t record) const __attribute__((always_inline)) |
DualPagePointer & | get_interior_record (uint16_t record) __attribute__((always_inline)) |
uint8_t | unused_dummy_func_reserved1 () const |
uint32_t | unused_dummy_func_reserved2 () const |
|
delete |
|
delete |
|
inline |
Definition at line 72 of file array_page_impl.hpp.
Referenced by foedus::storage::array::array_volatile_page_init(), foedus::storage::array::ArrayComposer::construct_root(), foedus::storage::array::ArrayComposeContext::execute(), foedus::storage::array::ArrayStoragePimpl::locate_record_for_read(), foedus::storage::array::ArrayStoragePimpl::locate_record_for_write(), foedus::storage::array::ArrayStoragePimpl::lookup_for_read(), foedus::storage::array::ArrayStoragePimpl::lookup_for_write(), and foedus::storage::array::ArrayStoragePimpl::prefetch_pages_recurse().
|
inline |
Definition at line 105 of file array_page_impl.hpp.
Referenced by foedus::storage::array::ArrayComposer::construct_root(), foedus::storage::array::ArrayPartitioner::design_partition(), foedus::storage::array::ArrayComposer::drop_volatiles(), foedus::storage::array::ArrayStoragePimpl::follow_pointers_for_read_batch(), foedus::storage::array::ArrayStoragePimpl::follow_pointers_for_write_batch(), foedus::storage::array::ArrayStoragePimpl::hcc_reset_all_temperature_stat_intermediate(), foedus::storage::array::ArrayStoragePimpl::lookup_for_read(), foedus::storage::array::ArrayStoragePimpl::lookup_for_read_batch(), foedus::storage::array::ArrayStoragePimpl::lookup_for_write(), foedus::storage::array::ArrayStoragePimpl::lookup_for_write_batch(), foedus::storage::array::ArrayStoragePimpl::prefetch_pages_recurse(), and foedus::storage::array::ArrayStoragePimpl::verify_single_thread().
|
inline |
Definition at line 108 of file array_page_impl.hpp.
References ASSERT_ND, foedus::storage::array::ArrayPage::Data::interior_data, is_leaf(), and foedus::storage::array::kInteriorFanout.
|
inline |
Definition at line 91 of file array_page_impl.hpp.
References foedus::assorted::align8(), ASSERT_ND, is_leaf(), foedus::storage::array::kDataSize, foedus::storage::kRecordOverhead, and foedus::storage::array::ArrayPage::Data::leaf_data.
Referenced by foedus::storage::array::ArrayComposer::drop_root_volatile(), foedus::storage::array::ArrayStoragePimpl::follow_pointers_for_read_batch(), foedus::storage::array::ArrayStoragePimpl::follow_pointers_for_write_batch(), initialize_snapshot_page(), initialize_volatile_page(), foedus::storage::array::ArrayStoragePimpl::locate_record_for_read(), foedus::storage::array::ArrayStoragePimpl::locate_record_for_read_batch(), foedus::storage::array::ArrayStoragePimpl::locate_record_for_write(), foedus::storage::array::ArrayStoragePimpl::lookup_for_read(), foedus::storage::array::ArrayStoragePimpl::lookup_for_read_batch(), foedus::storage::array::ArrayStoragePimpl::lookup_for_write(), foedus::storage::array::ArrayStoragePimpl::lookup_for_write_batch(), and foedus::storage::array::ArrayStoragePimpl::verify_single_thread().
|
inline |
Definition at line 98 of file array_page_impl.hpp.
References foedus::assorted::align8(), ASSERT_ND, is_leaf(), foedus::storage::array::kDataSize, foedus::storage::kRecordOverhead, and foedus::storage::array::ArrayPage::Data::leaf_data.
|
inline |
Definition at line 66 of file array_page_impl.hpp.
References foedus::assorted::align8(), foedus::storage::array::kDataSize, and foedus::storage::kRecordOverhead.
Referenced by initialize_snapshot_page(), initialize_volatile_page(), and foedus::storage::array::ArrayStoragePimpl::verify_single_thread().
|
inline |
Definition at line 71 of file array_page_impl.hpp.
Referenced by foedus::storage::array::array_volatile_page_init(), foedus::storage::array::ArrayStoragePimpl::follow_pointer(), foedus::storage::array::ArrayStoragePimpl::follow_pointers_for_read_batch(), foedus::storage::array::ArrayStoragePimpl::follow_pointers_for_write_batch(), foedus::storage::array::ArrayStoragePimpl::hcc_reset_all_temperature_stat_intermediate(), and foedus::storage::array::ArrayStoragePimpl::prefetch_pages_recurse().
|
inline |
Definition at line 69 of file array_page_impl.hpp.
|
inline |
Definition at line 65 of file array_page_impl.hpp.
References foedus::storage::PageHeader::storage_id_.
Referenced by foedus::storage::array::array_volatile_page_init().
|
inline |
Definition at line 63 of file array_page_impl.hpp.
Referenced by foedus::storage::array::ArrayComposer::construct_root(), foedus::storage::array::ArrayStoragePimpl::follow_pointers_for_read_batch(), foedus::storage::array::ArrayStoragePimpl::follow_pointers_for_write_batch(), foedus::storage::array::ArrayStoragePimpl::hcc_reset_all_temperature_stat_intermediate(), foedus::storage::array::ArrayStoragePimpl::lookup_for_read(), foedus::storage::array::ArrayStoragePimpl::lookup_for_read_batch(), foedus::storage::array::ArrayStoragePimpl::lookup_for_write(), foedus::storage::array::ArrayStoragePimpl::lookup_for_write_batch(), and foedus::storage::array::ArrayStoragePimpl::prefetch_pages_recurse().
|
inline |
Definition at line 64 of file array_page_impl.hpp.
void foedus::storage::array::ArrayPage::initialize_snapshot_page | ( | Epoch | initial_epoch, |
StorageId | storage_id, | ||
SnapshotPagePointer | page_id, | ||
uint16_t | payload_size, | ||
uint8_t | level, | ||
const ArrayRange & | array_range | ||
) |
Called only when this page is initialized.
Definition at line 32 of file array_page_impl.cpp.
References ASSERT_ND, get_leaf_record(), get_leaf_record_count(), foedus::storage::PageHeader::init_snapshot(), is_leaf(), foedus::Epoch::is_valid(), foedus::storage::kArrayPageType, and foedus::storage::kPageSize.
Referenced by foedus::storage::array::ArrayComposer::construct_root().
void foedus::storage::array::ArrayPage::initialize_volatile_page | ( | Epoch | initial_epoch, |
StorageId | storage_id, | ||
VolatilePagePointer | page_id, | ||
uint16_t | payload_size, | ||
uint8_t | level, | ||
const ArrayRange & | array_range | ||
) |
Definition at line 55 of file array_page_impl.cpp.
References ASSERT_ND, get_leaf_record(), get_leaf_record_count(), foedus::storage::PageHeader::init_volatile(), is_leaf(), foedus::Epoch::is_valid(), foedus::storage::kArrayPageType, and foedus::storage::kPageSize.
Referenced by foedus::storage::array::array_volatile_page_init(), and foedus::storage::array::ArrayStoragePimpl::load_empty().
|
inline |
Definition at line 70 of file array_page_impl.hpp.
Referenced by foedus::storage::array::ArrayPartitioner::design_partition(), foedus::storage::array::ArrayComposer::drop_root_volatile(), foedus::storage::array::ArrayComposer::drop_volatiles(), foedus::storage::array::ArrayStoragePimpl::follow_pointer(), foedus::storage::array::ArrayStoragePimpl::follow_pointers_for_read_batch(), foedus::storage::array::ArrayStoragePimpl::follow_pointers_for_write_batch(), get_interior_record(), get_leaf_record(), foedus::storage::array::ArrayStoragePimpl::hcc_reset_all_temperature_stat_intermediate(), initialize_snapshot_page(), initialize_volatile_page(), foedus::storage::array::ArrayStoragePimpl::locate_record_for_read(), foedus::storage::array::ArrayStoragePimpl::locate_record_for_write(), foedus::storage::array::ArrayStoragePimpl::lookup_for_read(), foedus::storage::array::ArrayStoragePimpl::lookup_for_write(), foedus::storage::array::ArrayStoragePimpl::prefetch_pages(), and foedus::storage::array::ArrayStoragePimpl::verify_single_thread().
|
inline |
Definition at line 114 of file array_page_impl.hpp.
|
inline |
Definition at line 115 of file array_page_impl.hpp.