◆ GroupBy
◆ vec_alloc
Allocator used for the vector below.
◆ Purge_groups_t()
Purge_groups_t::Purge_groups_t |
( |
std::size_t |
n_threads, |
|
|
mem_heap_t * |
heap |
|
) |
| |
|
inline |
◆ add()
◆ assign()
void Purge_groups_t::assign |
( |
que_thr_t ** |
thrs | ) |
|
|
inline |
◆ distribute()
void Purge_groups_t::distribute |
( |
| ) |
|
|
private |
Redistribute the undo records across different groups.
If a group has more records than it should, move all the extra records to the next group. Maximum two passes might be needed.
◆ distribute_if_needed()
void Purge_groups_t::distribute_if_needed |
( |
| ) |
|
Check the history list length and decide if distribution of workload between purge threads is needed or not.
If needed, do the distribution, otherwise do nothing.
◆ find_smallest_group()
std::size_t Purge_groups_t::find_smallest_group |
( |
| ) |
|
◆ init()
void Purge_groups_t::init |
( |
void |
| ) |
|
|
inline |
◆ is_grouping_uniform()
bool Purge_groups_t::is_grouping_uniform |
( |
| ) |
const |
◆ print()
std::ostream & Purge_groups_t::print |
( |
std::ostream & |
out | ) |
const |
◆ m_groups
A vector of groups.
The size of this vector is equal to the number of purge threads. Each undo record is assigned to one of the groups, based on its table_id. The index into this vector is the group_id.
◆ m_grpid_umap
GroupBy Purge_groups_t::m_grpid_umap |
Given a table_id obtain the group id to which it belongs.
◆ m_heap
Memory heap in which memory for unordered_map & vector is allocated.
◆ m_total_rec
std::size_t Purge_groups_t::m_total_rec |
Total number of undo records parsed and grouped.
The documentation for this struct was generated from the following file: