libfoedus-core
FOEDUS Core Library
foedus::log::StorageLogType Struct Reference

Base class for log type of storage-wide operation. More...

Detailed Description

Base class for log type of storage-wide operation.

Definition at line 151 of file common_log_types.hpp.

#include <common_log_types.hpp>

Inheritance diagram for foedus::log::StorageLogType:
Collaboration diagram for foedus::log::StorageLogType:

Public Member Functions

bool is_engine_log () const
 
bool is_storage_log () const
 
bool is_record_log () const
 
void apply_engine (thread::Thread *)
 
void apply_record (thread::Thread *, storage::StorageId, xct::RwLockableXctId *, char *)
 
void assert_valid_generic () __attribute__((always_inline))
 Verifies the log contains essential fields set. More...
 

Additional Inherited Members

- Public Attributes inherited from foedus::log::BaseLogType
LogHeader header_
 

Member Function Documentation

void foedus::log::StorageLogType::apply_engine ( thread::Thread )
inline

Definition at line 155 of file common_log_types.hpp.

References ASSERT_ND.

155  {
156  ASSERT_ND(false);
157  }
#define ASSERT_ND(x)
A warning-free wrapper macro of assert() that has no performance effect in release mode even when 'x'...
Definition: assert_nd.hpp:72
void foedus::log::StorageLogType::apply_record ( thread::Thread ,
storage::StorageId  ,
xct::RwLockableXctId ,
char *   
)
inline

Definition at line 158 of file common_log_types.hpp.

References ASSERT_ND.

162  {
163  ASSERT_ND(false);
164  }
#define ASSERT_ND(x)
A warning-free wrapper macro of assert() that has no performance effect in release mode even when 'x'...
Definition: assert_nd.hpp:72
void foedus::log::StorageLogType::assert_valid_generic ( )
inline

Verifies the log contains essential fields set.

Definition at line 168 of file common_log_types.hpp.

References ASSERT_ND.

Referenced by foedus::storage::DropLogType::assert_valid(), foedus::storage::CreateLogType::assert_valid(), foedus::storage::sequential::SequentialAppendLogType::assert_valid(), foedus::storage::array::ArrayOverwriteLogType::assert_valid(), foedus::storage::array::ArrayIncrementLogType::assert_valid(), foedus::storage::hash::HashInsertLogType::assert_valid(), foedus::storage::hash::HashDeleteLogType::assert_valid(), foedus::storage::masstree::MasstreeInsertLogType::assert_valid(), foedus::storage::hash::HashUpdateLogType::assert_valid(), foedus::storage::masstree::MasstreeDeleteLogType::assert_valid(), foedus::storage::masstree::MasstreeUpdateLogType::assert_valid(), foedus::storage::hash::HashOverwriteLogType::assert_valid(), and foedus::storage::masstree::MasstreeOverwriteLogType::assert_valid().

168  {
171  ASSERT_ND(header_.log_length_ % 8 == 0); // must be 8 byte aligned
173  }
bool is_valid_type() const
Another convenience method to see if the type code is non-zero and exists.
uint16_t log_length_
Byte size of this log entry including this header itself and everything.
storage::StorageId storage_id_
The storage this loggable operation mainly affects.
#define ASSERT_ND(x)
A warning-free wrapper macro of assert() that has no performance effect in release mode even when 'x'...
Definition: assert_nd.hpp:72

Here is the caller graph for this function:

bool foedus::log::StorageLogType::is_engine_log ( ) const
inline

Definition at line 152 of file common_log_types.hpp.

152 { return false; }
bool foedus::log::StorageLogType::is_record_log ( ) const
inline

Definition at line 154 of file common_log_types.hpp.

154 { return false; }
bool foedus::log::StorageLogType::is_storage_log ( ) const
inline

Definition at line 153 of file common_log_types.hpp.

153 { return true; }

The documentation for this struct was generated from the following file: