18 #ifndef FOEDUS_STORAGE_SEQUENTIAL_SEQUENTIAL_STORAGE_HPP_
19 #define FOEDUS_STORAGE_SEQUENTIAL_SEQUENTIAL_STORAGE_HPP_
36 namespace sequential {
123 #endif // FOEDUS_STORAGE_SEQUENTIAL_SEQUENTIAL_STORAGE_HPP_
friend std::ostream & operator<<(std::ostream &o, const SequentialStorage &v)
ErrorCode append_record(thread::Thread *context, const void *payload, uint16_t payload_count)
Append one record to this sequential storage.
Definitions of IDs in this package and a few related constant values.
Lock-free list of records stored in the volatile part of sequential storage.
uint32_t StorageId
Unique ID for storage.
Root package of FOEDUS (Fast Optimistic Engine for Data Unification Services).
Represents one thread running on one NUMA core.
void apply_truncate(const SequentialTruncateLogType &the_log)
Forward declarations of classes in root package.
Brings error stacktrace information as return value of functions.
SequentialStorage & operator=(const SequentialStorage &other)
ErrorStack truncate(Epoch new_truncate_epoch, Epoch *commit_epoch)
Discards all records in this storage before the given epoch.
const SequentialMetadata * get_sequential_metadata() const
Represents an append/scan-only store.
Represents one key-value store.
Forward declarations of classes in sequential storage package.
Forward declarations of classes in storage package.
ErrorStack create(const Metadata &metadata)
#define CXX11_FINAL
Used in public headers in place of "final" of C++11.
Database engine object that holds all resources and provides APIs.
Log type of CREATE SEQUENTIAL STORAGE operation.
Definitions of IDs in this package and a few related constant values.
Epoch get_truncate_epoch() const
This version doesn't protect the read in a xct.
SequentialStoragePimpl ThisPimpl
ErrorCode optimistic_read_truncate_epoch(thread::Thread *context, Epoch *out) const
Obtains the current value of truncate-epoch in an OCC-fashion.
Log type of TRUNCATE SEQUENTIAL STORAGE operation.
void apply_append_record(thread::Thread *context, const SequentialAppendLogType *log_entry)
Used to apply the effect of appending to volatile list.
SequentialMetadata ThisMetadata
SequentialCreateLogType ThisCreateLogType
Log type of sequential-storage's append operation.
ErrorStack load(const StorageControlBlock &snapshot_block)
Forward declarations of classes in thread package.
A base layout of shared data for all storage types.
ErrorCode
Enum of error codes defined in error_code.xmacro.
Shared data of this storage type.