libfoedus-core
FOEDUS Core Library
|
Represents one record in our key-value store. More...
Represents one record in our key-value store.
This layout is used in all storage types for "value" part.
Definition at line 33 of file record.hpp.
#include <record.hpp>
Public Member Functions | |
Record ()=delete | |
Record (const Record &other)=delete | |
Record & | operator= (const Record &other)=delete |
Public Attributes | |
xct::RwLockableXctId | owner_id_ |
This indicates the transaction that most recently modified this record. More... | |
char | payload_ [8] |
Arbitrary payload given by the user. More... | |
|
delete |
|
delete |
xct::RwLockableXctId foedus::storage::Record::owner_id_ |
This indicates the transaction that most recently modified this record.
This is also used as lock/delete flag. Thus, for atomic operations, Record object must be 8-byte aligned.
Definition at line 39 of file record.hpp.
Referenced by foedus::xct::Xct::add_to_write_set(), 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(), foedus::storage::array::ArrayStoragePimpl::get_record(), foedus::storage::array::ArrayStoragePimpl::get_record_for_write_batch(), foedus::storage::array::ArrayStoragePimpl::get_record_payload(), foedus::storage::array::ArrayStoragePimpl::get_record_payload_batch(), foedus::storage::array::ArrayStoragePimpl::get_record_primitive(), foedus::storage::array::ArrayStoragePimpl::get_record_primitive_batch(), foedus::storage::array::ArrayStoragePimpl::increment_record(), foedus::storage::array::ArrayStoragePimpl::increment_record_oneshot(), 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::overwrite_record(), foedus::storage::array::ArrayStoragePimpl::overwrite_record_primitive(), and foedus::storage::array::ArrayStoragePimpl::verify_single_thread().
char foedus::storage::Record::payload_[8] |
Arbitrary payload given by the user.
The size is actually meaningless (8 is just to not confuse compiler variable layout).
Definition at line 45 of file record.hpp.
Referenced by foedus::xct::Xct::add_to_write_set(), foedus::storage::array::ArrayStoragePimpl::get_record(), foedus::storage::array::ArrayStoragePimpl::get_record_payload(), foedus::storage::array::ArrayStoragePimpl::get_record_payload_batch(), foedus::storage::array::ArrayStoragePimpl::get_record_primitive(), foedus::storage::array::ArrayStoragePimpl::get_record_primitive_batch(), foedus::storage::array::ArrayStoragePimpl::increment_record(), foedus::storage::array::ArrayStoragePimpl::increment_record_oneshot(), foedus::storage::array::ArrayStoragePimpl::overwrite_record(), and foedus::storage::array::ArrayStoragePimpl::overwrite_record_primitive().