OmniSciDB
bf83d84833
|
#include <memory>
#include <unordered_map>
#include <unordered_set>
#include <vector>
Go to the source code of this file.
Functions | |
std::unordered_map< const RelAlgNode *, std::unordered_set< const RelAlgNode * > > | build_du_web (const std::vector< std::shared_ptr< RelAlgNode >> &nodes) noexcept |
void | eliminate_identical_copy (std::vector< std::shared_ptr< RelAlgNode >> &nodes) noexcept |
void | eliminate_dead_columns (std::vector< std::shared_ptr< RelAlgNode >> &nodes) noexcept |
void | eliminate_dead_subqueries (std::vector< std::shared_ptr< RexSubQuery >> &subqueries, RelAlgNode const *root) |
void | fold_filters (std::vector< std::shared_ptr< RelAlgNode >> &nodes) noexcept |
void | hoist_filter_cond_to_cross_join (std::vector< std::shared_ptr< RelAlgNode >> &nodes) noexcept |
void | simplify_sort (std::vector< std::shared_ptr< RelAlgNode >> &nodes) noexcept |
void | sink_projected_boolean_expr_to_join (std::vector< std::shared_ptr< RelAlgNode >> &nodes) noexcept |
|
noexcept |
Definition at line 408 of file RelAlgOptimizer.cpp.
References CHECK.
Referenced by eliminate_dead_columns(), eliminate_identical_copy(), fold_filters(), hoist_filter_cond_to_cross_join(), and sink_projected_boolean_expr_to_join().
|
noexcept |
Definition at line 1175 of file RelAlgOptimizer.cpp.
References anonymous_namespace{RelAlgOptimizer.cpp}::any_dead_col_in(), build_du_web(), CHECK, anonymous_namespace{RelAlgOptimizer.cpp}::does_redef_cols(), LOG, anonymous_namespace{RelAlgOptimizer.cpp}::mark_live_columns(), anonymous_namespace{RelAlgOptimizer.cpp}::propagate_input_renumbering(), anonymous_namespace{RelAlgOptimizer.cpp}::sweep_dead_columns(), anonymous_namespace{RelAlgOptimizer.cpp}::try_insert_coalesceable_proj(), and logger::WARNING.
Referenced by RelAlgDagBuilder::build().
void eliminate_dead_subqueries | ( | std::vector< std::shared_ptr< RexSubQuery >> & | subqueries, |
RelAlgNode const * | root | ||
) |
Definition at line 1240 of file RelAlgOptimizer.cpp.
References RexSubQueryIdCollector::getLiveRexSubQueryIds(), gpu_enabled::upper_bound(), and VLOG.
Referenced by RelAlgDagBuilder::build().
|
noexcept |
Definition at line 486 of file RelAlgOptimizer.cpp.
References build_du_web(), CHECK, CHECK_EQ, anonymous_namespace{RelAlgOptimizer.cpp}::cleanup_dead_nodes(), anonymous_namespace{RelAlgOptimizer.cpp}::get_visible_projects(), anonymous_namespace{RelAlgOptimizer.cpp}::is_distinct(), anonymous_namespace{RelAlgOptimizer.cpp}::is_identical_copy(), project_separates_sort(), anonymous_namespace{RelAlgOptimizer.cpp}::redirect_inputs_of(), and gpu_enabled::swap().
Referenced by RelAlgDagBuilder::build().
|
noexcept |
Definition at line 1455 of file RelAlgOptimizer.cpp.
References build_du_web(), CHECK, CHECK_EQ, anonymous_namespace{RelAlgOptimizer.cpp}::cleanup_dead_nodes(), logger::INFO, kAND, kBOOLEAN, LOG, and anonymous_namespace{RelAlgOptimizer.cpp}::replace_all_usages().
Referenced by RelAlgDagBuilder::build().
|
noexcept |
Definition at line 1617 of file RelAlgOptimizer.cpp.
References build_du_web(), CHECK, find_hoistable_conditions(), RelFilter::getCondition(), RelAlgNode::getInput(), INNER, join(), kAND, kBOOLEAN, RelFilter::setCondition(), and RexVisitorBase< T >::visit().
Referenced by RelAlgDagBuilder::build().
|
noexcept |
Definition at line 1722 of file RelAlgOptimizer.cpp.
References RelAlgNode::replaceInput().
Referenced by RelAlgDagBuilder::build().
|
noexcept |
Definition at line 1307 of file RelAlgOptimizer.cpp.
References build_du_web(), CHECK, CHECK_EQ, join(), kBOOLEAN, and anonymous_namespace{RelAlgOptimizer.cpp}::mark_live_columns().
Referenced by RelAlgDagBuilder::build().