◆ 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: