![]()  | 
  
    MySQL 8.4.7
    
   Source Code Documentation 
   | 
 
#include <graph_simplification.h>
Classes | |
| struct | CompareByBenefit | 
| struct | EdgeCardinalities | 
| struct | MarkNeighborCache | 
| struct | NeighborCache | 
| struct | ProposedSimplificationStep | 
| struct | SimplificationStep | 
Public Types | |
| enum | SimplificationResult { NO_SIMPLIFICATION_POSSIBLE = 0 , APPLIED_SIMPLIFICATION , APPLIED_NOOP , APPLIED_REDO_STEP } | 
Public Member Functions | |
| GraphSimplifier (THD *thd, JoinHypergraph *graph) | |
| SimplificationResult | DoSimplificationStep () | 
| void | UndoSimplificationStep () | 
| int | num_steps_done () const | 
| int | num_steps_undone () const | 
Private Member Functions | |
| void | UpdatePQ (size_t edge_idx) | 
| void | RecalculateNeighbors (size_t edge1_idx, size_t begin, size_t end) | 
| ALWAYS_INLINE bool | EdgesAreNeighboring (size_t edge1_idx, size_t edge2_idx, ProposedSimplificationStep *step) | 
| SimplificationStep | ConcretizeSimplificationStep (GraphSimplifier::ProposedSimplificationStep step) | 
Private Attributes | |
| THD * | m_thd | 
| Mem_root_array< SimplificationStep > | m_done_steps | 
| Mem_root_array< SimplificationStep > | m_undone_steps | 
| Bounds_checked_array< EdgeCardinalities > | m_edge_cardinalities | 
| JoinHypergraph * | m_graph | 
| OnlineCycleFinder | m_cycles | 
| Bounds_checked_array< NeighborCache > | m_cache | 
| Priority_queue< NeighborCache *, std::vector< NeighborCache *, Mem_root_allocator< NeighborCache * > >, CompareByBenefit, MarkNeighborCache > | m_pq | 
| GraphSimplifier::GraphSimplifier | ( | THD * | thd, | 
| JoinHypergraph * | graph | ||
| ) | 
      
  | 
  private | 
| GraphSimplifier::SimplificationResult GraphSimplifier::DoSimplificationStep | ( | ) | 
      
  | 
  private | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  private | 
| void GraphSimplifier::UndoSimplificationStep | ( | ) | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private |