18 #ifndef FOEDUS_STORAGE_ARRAY_ARRAY_PARTITIONER_IMPL_HPP_
19 #define FOEDUS_STORAGE_ARRAY_ARRAY_PARTITIONER_IMPL_HPP_
117 #endif // FOEDUS_STORAGE_ARRAY_ARRAY_PARTITIONER_IMPL_HPP_
ArrayOffset get_array_size() const
thread::ThreadGroupId PartitionId
As partition=NUMA node, this is just a synonym of foedus::thread::ThreadGroupId.
Definitions of IDs in this package and a few related constant values.
bool partitionable_
if false, every record goes to node-0.
uint32_t StorageId
Unique ID for storage.
Root package of FOEDUS (Fast Optimistic Engine for Data Unification Services).
void partition_batch(const Partitioner::PartitionBatchArguments &args) const
uint64_t ArrayOffset
The only key type in array storage.
bool is_partitionable() const
PartitionId bucket_owners_[kInteriorFanout]
partition of each bucket.
friend std::ostream & operator<<(std::ostream &o, const ArrayPartitioner &v)
ArrayOffset array_size_
Size of the entire array.
Forward declarations of classes in root package.
Brings error stacktrace information as return value of functions.
uint8_t get_array_levels() const
const PartitionId * get_bucket_owners() const
ArrayOffset bucket_size_
bucket = offset / bucket_size_.
Partitioner for an array storage.
void sort_batch(const Partitioner::SortBatchArguments &args) const
Database engine object that holds all resources and provides APIs.
~ArrayPartitionerData()=delete
Forward declarations of classes in memory package.
Partitioning and sorting logic for one storage.
Arguments for sort_batch()
ArrayPartitioner(Partitioner *parent)
Definitions of IDs in this package and a few related constant values.
const uint16_t kInteriorFanout
Max number of entries in an interior page of array storage.
ArrayPartitionerData()=delete
ErrorStack design_partition(const Partitioner::DesignPartitionArguments &args)
Arguments for design_partition()
Arguments for partition_batch()