libfoedus-core
FOEDUS Core Library
|
MasstreeComposer's compose() implementation separated from the class itself. More...
MasstreeComposer's compose() implementation separated from the class itself.
It's a complicated method, so worth being its own class. This defines all the variables maintained during one compose() call.
Definition at line 161 of file masstree_composer_impl.hpp.
#include <masstree_composer_impl.hpp>
Classes | |
struct | FenceAndPointer |
struct | PageBoundaryInfo |
Represents a minimal information to install a new snapshot page pointer. More... | |
struct | PageBoundarySort |
Points to PageBoundaryInfo with a sorting information. More... | |
struct | PathLevel |
One level in the path. More... | |
Public Types | |
enum | Constants { kMaxLevels = 32, kMaxLayers = 16, kMaxLogGroupSize = 1 << 14, kTmpBoundaryArraySize = kMaxLogGroupSize } |
Public Member Functions | |
MasstreeComposeContext (Engine *engine, snapshot::MergeSort *merge_sort, const Composer::ComposeArguments &args) | |
MasstreeComposeContext methods. More... | |
ErrorStack | execute () |
MasstreeComposeContext::execute() and subroutines for log groups. More... | |
Definition at line 163 of file masstree_composer_impl.hpp.
foedus::storage::masstree::MasstreeComposeContext::MasstreeComposeContext | ( | Engine * | engine, |
snapshot::MergeSort * | merge_sort, | ||
const Composer::ComposeArguments & | args | ||
) |
MasstreeComposeContext methods.
Definition at line 291 of file masstree_composer_impl.cpp.
References foedus::snapshot::SnapshotWriter::get_next_page_id().
ErrorStack foedus::storage::masstree::MasstreeComposeContext::execute | ( | ) |
MasstreeComposeContext::execute() and subroutines for log groups.
Definition at line 371 of file masstree_composer_impl.cpp.
References ASSERT_ND, CHECK_ERROR, foedus::snapshot::MergeSort::GroupifyResult::count_, foedus::snapshot::MergeSort::get_current_count(), foedus::storage::masstree::MasstreeCommonLogType::get_key(), foedus::snapshot::MergeSort::GroupifyResult::get_log_type(), foedus::snapshot::MergeSort::groupify(), foedus::snapshot::MergeSort::GroupifyResult::has_common_key_, foedus::snapshot::MergeSort::GroupifyResult::has_common_log_code_, foedus::snapshot::MergeSort::is_ended_all(), foedus::storage::masstree::MasstreeCommonLogType::key_length_, foedus::log::kLogCodeMasstreeDelete, foedus::log::kLogCodeMasstreeInsert, foedus::log::kLogCodeMasstreeOverwrite, foedus::log::kLogCodeMasstreeUpdate, kMaxLogGroupSize, foedus::kRetOk, LIKELY, foedus::snapshot::MergeSort::next_batch(), and foedus::snapshot::MergeSort::resolve_sort_position().