MySQL 8.0.40
Source Code Documentation
relational_expression.h File Reference
#include <stdint.h>
#include "sql/item.h"
#include "sql/join_optimizer/bit_utils.h"
#include "sql/join_optimizer/node_map.h"
#include "sql/join_optimizer/overflow_bitset.h"
#include "sql/join_type.h"
#include "sql/mem_root_array.h"
#include "sql/sql_class.h"

Go to the source code of this file.

Classes

struct  CachedPropertiesForPredicate
 
struct  ConflictRule
 
struct  RelationalExpression
 Represents an expression tree in the relational algebra of joins. 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