MySQL 8.4.2
Source Code Documentation
relational_expression.h File Reference

Go to the source code of this file.

Classes

struct  CachedPropertiesForPredicate
 
struct  ConflictRule
 
class  CompanionSet
 RelationalExpression objects in the same companion set are those that are inner-joined against each other; we use this to see in what parts of the graph we allow cycles. More...
 
struct  CompanionSet::EqualTerm
 This represents equality between a set of fields, i.e. More...
 
struct  RelationalExpression
 Represents an expression tree in the relational algebra of joins. More...
 
class  CompanionSetCollection
 The collection of CompanionSet objects for a given JoinHypergraph. More...
 

Functions

bool PassesConflictRules (hypergraph::NodeMap joined_tables, const RelationalExpression *expr)
 
bool OperatorIsCommutative (const RelationalExpression &expr)
 
template<class Func >
void ForEachJoinOperator (RelationalExpression *expr, Func &&func)
 
template<class Func >
void ForEachOperator (RelationalExpression *expr, Func &&func)
 

Function Documentation

◆ ForEachJoinOperator()

template<class Func >
void ForEachJoinOperator ( RelationalExpression expr,
Func &&  func 
)

◆ ForEachOperator()

template<class Func >
void ForEachOperator ( RelationalExpression expr,
Func &&  func 
)

◆ OperatorIsCommutative()

bool OperatorIsCommutative ( const RelationalExpression expr)
inline

◆ PassesConflictRules()

bool PassesConflictRules ( hypergraph::NodeMap  joined_tables,
const RelationalExpression expr 
)
inline