libfoedus-core
FOEDUS Core Library
|
return value of MasstreeStoragePimpl::locate_record()/reserve_record(). More...
return value of MasstreeStoragePimpl::locate_record()/reserve_record().
See foedus::storage::hash::RecordLocation regarding observed_. Masstree's locate_record() is also now a logical operation.
Definition at line 39 of file masstree_record_location.hpp.
#include <masstree_record_location.hpp>
Public Member Functions | |
bool | is_found () const |
void | clear () |
ErrorCode | populate_logical (xct::Xct *cur_xct, MasstreeBorderPage *page, SlotIndex index, bool intended_for_write) |
Populates the result with XID and possibly readset. More... | |
Public Attributes | |
MasstreeBorderPage * | page_ |
The border page containing the record. More... | |
SlotIndex | index_ |
Index of the record in the page. More... | |
xct::XctId | observed_ |
TID as of locate_record() identifying the record. More... | |
xct::ReadXctAccess * | readset_ |
If this method took a read-set on the returned record, points to the corresponding read-set. More... | |
|
inline |
Definition at line 57 of file masstree_record_location.hpp.
References CXX11_NULLPTR, foedus::xct::XctId::data_, and foedus::storage::masstree::kBorderPageMaxSlots.
Referenced by foedus::storage::masstree::MasstreeStoragePimpl::locate_record(), foedus::storage::masstree::MasstreeStoragePimpl::locate_record_normalized(), foedus::storage::masstree::MasstreeCursor::MasstreeCursor(), foedus::storage::masstree::MasstreeStoragePimpl::reserve_record(), and foedus::storage::masstree::MasstreeStoragePimpl::reserve_record_normalized().
|
inline |
Definition at line 56 of file masstree_record_location.hpp.
References foedus::storage::masstree::kBorderPageMaxSlots.
Referenced by foedus::storage::masstree::MasstreeStorage::insert_record(), foedus::storage::masstree::MasstreeStorage::insert_record_normalized(), foedus::storage::masstree::MasstreeStorage::upsert_record(), and foedus::storage::masstree::MasstreeStorage::upsert_record_normalized().
ErrorCode foedus::storage::masstree::RecordLocation::populate_logical | ( | xct::Xct * | cur_xct, |
MasstreeBorderPage * | page, | ||
SlotIndex | index, | ||
bool | intended_for_write | ||
) |
Populates the result with XID and possibly readset.
This is a logical operation that might take a readset.
Definition at line 27 of file masstree_record_location.cpp.
References ASSERT_ND, CHECK_ERROR_CODE, foedus::storage::masstree::MasstreeBorderPage::get_owner_id(), index_, foedus::xct::XctId::is_being_written(), foedus::xct::XctId::is_moved(), foedus::xct::XctId::is_next_layer(), foedus::xct::XctId::is_valid(), foedus::kErrorCodeOk, observed_, foedus::xct::Xct::on_record_read(), page_, and readset_.
Referenced by foedus::storage::masstree::MasstreeStoragePimpl::locate_record(), foedus::storage::masstree::MasstreeStoragePimpl::locate_record_normalized(), foedus::storage::masstree::MasstreeStoragePimpl::reserve_record(), and foedus::storage::masstree::MasstreeStoragePimpl::reserve_record_normalized().
SlotIndex foedus::storage::masstree::RecordLocation::index_ |
Index of the record in the page.
kBorderPageMaxSlots if not found.
Definition at line 43 of file masstree_record_location.hpp.
Referenced by foedus::storage::masstree::MasstreeStoragePimpl::increment_general(), foedus::storage::masstree::MasstreeStoragePimpl::insert_general(), foedus::storage::masstree::MasstreeStoragePimpl::overwrite_general(), populate_logical(), foedus::storage::masstree::MasstreeStoragePimpl::register_record_write_log(), foedus::storage::masstree::MasstreeStoragePimpl::retrieve_general(), foedus::storage::masstree::MasstreeStoragePimpl::retrieve_part_general(), and foedus::storage::masstree::MasstreeStoragePimpl::upsert_general().
xct::XctId foedus::storage::masstree::RecordLocation::observed_ |
TID as of locate_record() identifying the record.
See foedus::storage::hash::RecordLocation.
Definition at line 48 of file masstree_record_location.hpp.
Referenced by foedus::storage::masstree::MasstreeStoragePimpl::delete_general(), foedus::storage::masstree::MasstreeStoragePimpl::increment_general(), foedus::storage::masstree::MasstreeStoragePimpl::insert_general(), foedus::storage::masstree::MasstreeCursor::next(), foedus::storage::masstree::MasstreeCursor::open(), foedus::storage::masstree::MasstreeStoragePimpl::overwrite_general(), populate_logical(), foedus::storage::masstree::MasstreeStoragePimpl::reserve_record(), foedus::storage::masstree::MasstreeStoragePimpl::reserve_record_normalized(), foedus::storage::masstree::MasstreeStoragePimpl::retrieve_general(), foedus::storage::masstree::MasstreeStoragePimpl::retrieve_part_general(), and foedus::storage::masstree::MasstreeStoragePimpl::upsert_general().
MasstreeBorderPage* foedus::storage::masstree::RecordLocation::page_ |
The border page containing the record.
Definition at line 41 of file masstree_record_location.hpp.
Referenced by foedus::storage::masstree::MasstreeStoragePimpl::delete_general(), foedus::storage::masstree::MasstreeStoragePimpl::increment_general(), foedus::storage::masstree::MasstreeStoragePimpl::insert_general(), foedus::storage::masstree::MasstreeStoragePimpl::overwrite_general(), populate_logical(), foedus::storage::masstree::MasstreeStoragePimpl::register_record_write_log(), foedus::storage::masstree::MasstreeStoragePimpl::retrieve_general(), foedus::storage::masstree::MasstreeStoragePimpl::retrieve_part_general(), and foedus::storage::masstree::MasstreeStoragePimpl::upsert_general().
xct::ReadXctAccess* foedus::storage::masstree::RecordLocation::readset_ |
If this method took a read-set on the returned record, points to the corresponding read-set.
Otherwise nullptr.
Definition at line 54 of file masstree_record_location.hpp.
Referenced by populate_logical(), and foedus::storage::masstree::MasstreeStoragePimpl::register_record_write_log().