|
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.