18 #ifndef FOEDUS_STORAGE_MASSTREE_MASSTREE_GROW_IMPL_HPP_
19 #define FOEDUS_STORAGE_MASSTREE_MASSTREE_GROW_IMPL_HPP_
56 : xct::SysxctFunctor(),
58 storage_id_(storage_id) {
94 uint16_t pointer_index)
95 : xct::SysxctFunctor(),
98 pointer_index_(pointer_index) {
107 #endif // FOEDUS_STORAGE_MASSTREE_MASSTREE_GROW_IMPL_HPP_
virtual ErrorCode run(xct::SysxctWorkspace *sysxct_workspace) override
Execute the system transaction.
thread::Thread *const context_
Thread context.
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.
Represents one border page in Masstree Storage.
Definitions of IDs in this package and a few related constant values.
A functor representing the logic in a system transaction via virtual-function.
MasstreeBorderPage *const parent_
The border page of the parent layer.
GrowFirstLayerRoot(thread::Thread *context, StorageId storage_id)
const uint16_t pointer_index_
Index of the pointer in parent.
GrowNonFirstLayerRoot(thread::Thread *context, MasstreeBorderPage *parent, uint16_t pointer_index)
A system transaction to grow a first-layer root.
A system transaction to grow a second- or depper-layer root.
virtual ErrorCode run(xct::SysxctWorkspace *sysxct_workspace) override
Execute the system transaction.
Forward declarations of classes in masstree storage package.
Forward declarations of classes in thread package.
thread::Thread *const context_
Thread context.
StorageId storage_id_
ID of the masstree storage to grow.
ErrorCode
Enum of error codes defined in error_code.xmacro.
Per-thread reused work memory for system transactions.