libfoedus-core
FOEDUS Core Library
|
Composer for an array storage. More...
Composer for an array storage.
Definition at line 51 of file array_composer_impl.hpp.
#include <array_composer_impl.hpp>
Public Member Functions | |
ArrayComposer (Composer *parent) | |
ArrayComposer methods. More... | |
std::string | to_string () const |
ErrorStack | compose (const Composer::ComposeArguments &args) |
ErrorStack | construct_root (const Composer::ConstructRootArguments &args) |
Composer::DropResult | drop_volatiles (const Composer::DropVolatilesArguments &args) |
drop_volatiles and related methods More... | |
void | drop_root_volatile (const Composer::DropVolatilesArguments &args) |
|
explicit |
ArrayComposer methods.
Definition at line 59 of file array_composer_impl.cpp.
References ASSERT_ND, and foedus::storage::Storage< CONTROL_BLOCK >::exists().
ErrorStack foedus::storage::array::ArrayComposer::compose | ( | const Composer::ComposeArguments & | args | ) |
Definition at line 66 of file array_composer_impl.cpp.
References foedus::storage::Composer::ComposeArguments::base_epoch_, CHECK_ERROR, foedus::debugging::StopWatch::elapsed_ms(), foedus::DefaultInitializable::initialize(), foedus::storage::kArrayStorage, foedus::storage::array::kMaxLevels, foedus::kRetOk, foedus::storage::Composer::ComposeArguments::log_streams_, foedus::storage::Composer::ComposeArguments::log_streams_count_, foedus::storage::Composer::ComposeArguments::previous_snapshot_files_, foedus::storage::Composer::ComposeArguments::root_info_page_, foedus::storage::Composer::ComposeArguments::snapshot_writer_, foedus::debugging::StopWatch::stop(), to_string(), foedus::DefaultInitializable::uninitialize(), and foedus::storage::Composer::ComposeArguments::work_memory_.
Referenced by foedus::storage::Composer::compose().
ErrorStack foedus::storage::array::ArrayComposer::construct_root | ( | const Composer::ConstructRootArguments & | args | ) |
Definition at line 95 of file array_composer_impl.cpp.
References ASSERT_ND, foedus::snapshot::SnapshotWriter::dump_pages(), foedus::storage::extract_snapshot_id_from_snapshot_pointer(), foedus::storage::array::ArrayPage::get_array_range(), foedus::storage::array::ArrayStorage::get_array_size(), foedus::Attachable< CONTROL_BLOCK >::get_control_block(), foedus::savepoint::SavepointManager::get_initial_durable_epoch(), foedus::storage::array::ArrayPage::get_interior_record(), foedus::storage::array::ArrayStorage::get_levels(), foedus::storage::Storage< CONTROL_BLOCK >::get_metadata(), foedus::snapshot::SnapshotWriter::get_next_page_id(), foedus::snapshot::SnapshotWriter::get_page_base(), foedus::storage::array::ArrayStorage::get_payload_size(), foedus::storage::array::LookupRouteFinder::get_records_in_leaf(), foedus::Engine::get_savepoint_manager(), foedus::snapshot::SnapshotWriter::get_snapshot_id(), foedus::storage::array::ArrayPage::header(), foedus::storage::array::ArrayPage::initialize_snapshot_page(), foedus::assorted::int_div_ceil(), foedus::storage::array::kInteriorFanout, foedus::kRetOk, foedus::storage::Composer::ConstructRootArguments::new_root_page_pointer_, foedus::storage::PageHeader::page_id_, foedus::storage::array::ArrayRootInfoPage::pointers_, foedus::storage::Composer::ConstructRootArguments::previous_snapshot_files_, foedus::cache::SnapshotFileSet::read_page(), foedus::storage::Composer::ConstructRootArguments::root_info_pages_, foedus::storage::Composer::ConstructRootArguments::root_info_pages_count_, foedus::storage::Metadata::root_snapshot_page_id_, foedus::storage::DualPagePointer::snapshot_pointer_, foedus::storage::Composer::ConstructRootArguments::snapshot_writer_, foedus::storage::PageHeader::storage_id_, and WRAP_ERROR_CODE.
Referenced by foedus::storage::Composer::construct_root().
void foedus::storage::array::ArrayComposer::drop_root_volatile | ( | const Composer::DropVolatilesArguments & | args | ) |
Definition at line 971 of file array_composer_impl.cpp.
References ASSERT_ND, foedus::storage::array::ArrayStorage::get_array_metadata(), foedus::storage::array::ArrayStorage::get_array_size(), foedus::Attachable< CONTROL_BLOCK >::get_control_block(), foedus::xct::XctId::get_epoch(), foedus::storage::array::ArrayPage::get_leaf_record(), foedus::storage::array::ArrayStorage::get_levels(), foedus::storage::Storage< CONTROL_BLOCK >::get_name(), foedus::storage::array::ArrayStorage::get_payload_size(), foedus::storage::array::ArrayPage::is_leaf(), foedus::Epoch::is_valid(), foedus::storage::Metadata::keeps_all_volatile_pages(), foedus::storage::Record::owner_id_, foedus::storage::Composer::DropVolatilesArguments::snapshot_, foedus::snapshot::Snapshot::valid_until_epoch_, foedus::storage::DualPagePointer::volatile_pointer_, and foedus::xct::RwLockableXctId::xct_id_.
Referenced by foedus::storage::Composer::drop_root_volatile().
Composer::DropResult foedus::storage::array::ArrayComposer::drop_volatiles | ( | const Composer::DropVolatilesArguments & | args | ) |
drop_volatiles and related methods
Definition at line 929 of file array_composer_impl.cpp.
References ASSERT_ND, foedus::storage::Composer::DropResult::combine(), foedus::storage::Composer::DropResult::dropped_all_, foedus::storage::extract_numa_node_from_snapshot_pointer(), foedus::storage::array::ArrayStorage::get_array_metadata(), foedus::Attachable< CONTROL_BLOCK >::get_control_block(), foedus::storage::array::ArrayPage::get_interior_record(), foedus::storage::Storage< CONTROL_BLOCK >::get_name(), foedus::storage::array::ArrayPage::is_leaf(), foedus::storage::VolatilePagePointer::is_null(), foedus::storage::Metadata::keeps_all_volatile_pages(), foedus::storage::array::kInteriorFanout, foedus::storage::Composer::DropVolatilesArguments::my_partition_, foedus::storage::Composer::DropVolatilesArguments::partitioned_drop_, foedus::storage::DualPagePointer::snapshot_pointer_, and foedus::storage::DualPagePointer::volatile_pointer_.
Referenced by foedus::storage::Composer::drop_volatiles().
std::string foedus::storage::array::ArrayComposer::to_string | ( | ) | const |
Definition at line 182 of file array_composer_impl.cpp.
Referenced by compose().