Column-oriented GPU-accelerated Database Management System
CoGaDB
CoGaDB::optimizer::optimizer_rules Namespace Reference

Classes

struct  Check_Tree_Consistency_Functor
struct  Push_Down_Selection_Functor
struct  Decompose_Complex_Selection_Functor
struct  Compose_Complex_Selections_Functor
struct  Eliminate_Cross_Join_Functor

Functions

bool decompose_complex_selections (query_processing::LogicalQueryPlanPtr log_plan)
bool push_down_selections (query_processing::LogicalQueryPlanPtr log_plan)
bool compose_complex_selections (query_processing::LogicalQueryPlanPtr log_plan)
bool cross_product_to_join (query_processing::LogicalQueryPlanPtr log_plan)
bool join_order_optimization (query_processing::LogicalQueryPlanPtr log_plan)
bool isColumnInTransitiveHull (const std::string &column_name, std::list< Attribut > &transitive_hull_of_attributes)
bool isDisjunctionInTransitiveHull (CoGaDB::Disjunction &d, std::list< Attribut > &transitive_hull_of_attributes)
bool isKNFInTransitiveHull (CoGaDB::KNF_Selection_Expression sel_expr, std::list< Attribut > &transitive_hull_of_attributes)
void push_down_selection_in_left_subtree_of_child (query_processing::NodePtr selection)
void push_down_selection_in_right_subtree_of_child (query_processing::NodePtr selection)

Function Documentation

bool CoGaDB::optimizer::optimizer_rules::isColumnInTransitiveHull ( const std::string &  column_name,
std::list< Attribut > &  transitive_hull_of_attributes 
)
bool CoGaDB::optimizer::optimizer_rules::isDisjunctionInTransitiveHull ( CoGaDB::Disjunction d,
std::list< Attribut > &  transitive_hull_of_attributes 
)

References isColumnInTransitiveHull(), CoGaDB::ValueConstantPredicate, and CoGaDB::ValueValuePredicate.

Referenced by isKNFInTransitiveHull().

Here is the call graph for this function:

Here is the caller graph for this function:

bool CoGaDB::optimizer::optimizer_rules::isKNFInTransitiveHull ( CoGaDB::KNF_Selection_Expression  sel_expr,
std::list< Attribut > &  transitive_hull_of_attributes 
)

References CoGaDB::KNF_Selection_Expression::disjunctions, and isDisjunctionInTransitiveHull().

Referenced by CoGaDB::optimizer::optimizer_rules::Push_Down_Selection_Functor::operator()().

Here is the call graph for this function:

Here is the caller graph for this function:

bool CoGaDB::optimizer::optimizer_rules::join_order_optimization ( query_processing::LogicalQueryPlanPtr  log_plan)

References CoGaDB::optimizer::is_complex_selection(), and CoGaDB::optimizer::setLevelsOfTree().

Referenced by CoGaDB::optimizer::optimizer_rules::Push_Down_Selection_Functor::operator()().

Here is the call graph for this function:

Here is the caller graph for this function:

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines