MySQL 8.3.0
Source Code Documentation
relational_expression.h File Reference

Go to the source code of this file.


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...


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)

◆ PassesConflictRules()

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