![]()  | 
  
    MySQL 9.5.0
    
   Source Code Documentation 
   | 
 
The collection of CompanionSet objects for a given JoinHypergraph. More...
#include <relational_expression.h>
Public Member Functions | |
| CompanionSetCollection (THD *thd, struct RelationalExpression *root) | |
| CompanionSetCollection (const CompanionSetCollection &)=delete | |
| No copying.  More... | |
| CompanionSetCollection & | operator= (const CompanionSetCollection &)=delete | 
| CompanionSet * | Find (table_map tables) | 
| const CompanionSet * | Find (table_map tables) const | 
| std::string | ToString () const | 
| For trace and debugging.  More... | |
Private Member Functions | |
| void | Compute (THD *thd, RelationalExpression *expr, CompanionSet *current_set) | 
| Compute the CompanionSet of 'expr' and all of its descendants.  More... | |
| CompanionSet * | FindInternal (table_map tables) const | 
| For a given set of tables, find the CompanionSet they are part of Returns nullptr if the tables are in different (i.e., incompatible) CompanionSet instances.  More... | |
Private Attributes | |
| std::array< CompanionSet *, MAX_TABLES > | m_table_num_to_companion_set {nullptr} | 
| A mapping from table number to CompanionSet.  More... | |
The collection of CompanionSet objects for a given JoinHypergraph.
      
  | 
  inline | 
      
  | 
  delete | 
No copying.
      
  | 
  private | 
Compute the CompanionSet of 'expr' and all of its descendants.
| thd | The current thread. | 
| expr | Compute CompanionSet of this and all of its descendants. | 
| current_set | The CompanionSet to which 'expr' will belong, or nullptr if 'expr' is the root of a new set. | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  private | 
For a given set of tables, find the CompanionSet they are part of Returns nullptr if the tables are in different (i.e., incompatible) CompanionSet instances.
If so, a condition using this set of tables can not induce a new (cycle) edge in the hypergraph, as there are non-inner joins in the way.
      
  | 
  delete | 
| std::string CompanionSetCollection::ToString | ( | ) | const | 
For trace and debugging.
      
  | 
  private | 
A mapping from table number to CompanionSet.