libfoedus-core
FOEDUS Core Library
|
Represents a record of reading a page during a transaction. More...
Represents a record of reading a page during a transaction.
This is similar to PointerAccess. The difference is that this remembers the PageVersion value we observed when we accessed the page. This can capture many more concurrency issues in the page because PageVersion contains many flags and counters. However, PageVersionAccess can't be used if the page itself might be swapped.
Both PointerAccess and PageVersionAccess can be considered as "node set" in [TU2013], but for a little bit different purpose.
Definition at line 72 of file xct_access.hpp.
#include <xct_access.hpp>
Public Attributes | |
const storage::PageVersion * | address_ |
Address to the page version. More... | |
storage::PageVersionStatus | observed_ |
Value of the page version as of the access. More... | |
Friends | |
std::ostream & | operator<< (std::ostream &o, const PageVersionAccess &v) |
|
friend |
Definition at line 38 of file xct_access.cpp.
const storage::PageVersion* foedus::xct::PageVersionAccess::address_ |
Address to the page version.
Definition at line 76 of file xct_access.hpp.
Referenced by foedus::xct::Xct::add_to_page_version_set(), foedus::xct::operator<<(), and foedus::xct::XctManagerPimpl::precommit_xct_verify_page_version_set().
storage::PageVersionStatus foedus::xct::PageVersionAccess::observed_ |
Value of the page version as of the access.
Definition at line 79 of file xct_access.hpp.
Referenced by foedus::xct::Xct::add_to_page_version_set(), foedus::xct::operator<<(), and foedus::xct::XctManagerPimpl::precommit_xct_verify_page_version_set().