OmniSciDB
a5dc49c757
|
#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 416 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 1187 of file RelAlgOptimizer.cpp.
References anonymous_namespace{RelAlgOptimizer.cpp}::any_dead_col_in(), build_du_web(), CHECK, RelRexToStringConfig::defaults(), anonymous_namespace{RelAlgOptimizer.cpp}::does_redef_cols(), LOG, anonymous_namespace{RelAlgOptimizer.cpp}::mark_live_columns(), anonymous_namespace{RelAlgOptimizer.cpp}::propagate_input_renumbering(), setup::root, anonymous_namespace{RelAlgOptimizer.cpp}::sweep_dead_columns(), anonymous_namespace{RelAlgOptimizer.cpp}::try_insert_coalesceable_proj(), and logger::WARNING.
Referenced by RelAlgDagBuilder::optimizeDag().
void eliminate_dead_subqueries | ( | std::vector< std::shared_ptr< RexSubQuery >> & | subqueries, |
RelAlgNode const * | root | ||
) |
Definition at line 1253 of file RelAlgOptimizer.cpp.
References anonymous_namespace{Utm.h}::a, RexSubQueryIdCollector::getLiveRexSubQueryIds(), gpu_enabled::upper_bound(), and VLOG.
Referenced by RelAlgDagBuilder::optimizeDag().
|
noexcept |
Definition at line 494 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::optimizeDag().
|
noexcept |
Definition at line 1468 of file RelAlgOptimizer.cpp.
References build_du_web(), CHECK, CHECK_EQ, anonymous_namespace{RelAlgOptimizer.cpp}::cleanup_dead_nodes(), logger::DEBUG2, RelRexToStringConfig::defaults(), logger::fast_logging_check(), g_max_log_length, kAND, kBOOLEAN, anonymous_namespace{RelAlgOptimizer.cpp}::replace_all_usages(), substring(), and VLOG.
Referenced by RelAlgDagBuilder::optimizeDag().
|
noexcept |
Definition at line 1634 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::optimizeDag().
|
noexcept |
Definition at line 1759 of file RelAlgOptimizer.cpp.
References sync_field_names_if_necessary().
Referenced by RelAlgDagBuilder::optimizeDag().
|
noexcept |
Definition at line 1320 of file RelAlgOptimizer.cpp.
References build_du_web(), CHECK, CHECK_EQ, join(), kBOOLEAN, and anonymous_namespace{RelAlgOptimizer.cpp}::mark_live_columns().
Referenced by RelAlgDagBuilder::optimizeDag().