OmniSciDB
a5dc49c757
|
Classes | |
class | RexInputReplacementVisitor |
class | CoalesceSecondaryProjectVisitor |
Functions | |
std::vector< const Rex * > | reproject_targets (const RelProject *simple_project, const std::vector< const Rex * > &target_exprs) noexcept |
bool | input_can_be_coalesced (const RelAlgNode *parent_node, const size_t index, const bool first_rex_is_input) |
bool | is_window_function_sum (const RexScalar *rex) |
bool | is_window_function_avg (const RexScalar *rex) |
bool | is_window_function_operator (const RexScalar *rex) |
void | create_rex_input_for_new_project_node (RelAlgNode const *node, std::vector< std::unique_ptr< const RexScalar >> &scalar_exprs, std::vector< std::string > &fields) |
bool | find_generic_expr_in_window_func (RexWindowFunctionOperator const *window_expr, bool &has_generic_expr_in_window_func) |
std::pair< bool, bool > | need_pushdown_generic_expr (RelProject const *window_func_project_node) |
void anonymous_namespace{RelAlgDag.cpp}::anonymous_namespace{RelAlgDag.cpp}::create_rex_input_for_new_project_node | ( | RelAlgNode const * | node, |
std::vector< std::unique_ptr< const RexScalar >> & | scalar_exprs, | ||
std::vector< std::string > & | fields | ||
) |
Definition at line 2121 of file RelAlgDag.cpp.
References RelAlgNode::size().
Referenced by anonymous_namespace{RelAlgDag.cpp}::handle_agg_over_join().
bool anonymous_namespace{RelAlgDag.cpp}::anonymous_namespace{RelAlgDag.cpp}::find_generic_expr_in_window_func | ( | RexWindowFunctionOperator const * | window_expr, |
bool & | has_generic_expr_in_window_func | ||
) |
Definition at line 2591 of file RelAlgDag.cpp.
References RexOperator::getOperand(), RexWindowFunctionOperator::getOrderKeys(), RexWindowFunctionOperator::getPartitionKeys(), and RexOperator::size().
Referenced by need_pushdown_generic_expr().
bool anonymous_namespace{RelAlgDag.cpp}::anonymous_namespace{RelAlgDag.cpp}::input_can_be_coalesced | ( | const RelAlgNode * | parent_node, |
const size_t | index, | ||
const bool | first_rex_is_input | ||
) |
Definition at line 1925 of file RelAlgDag.cpp.
Referenced by anonymous_namespace{RelAlgDag.cpp}::coalesce_nodes(), and anonymous_namespace{RelAlgDag.cpp}::anonymous_namespace{RelAlgDag.cpp}::CoalesceSecondaryProjectVisitor::visitInput().
bool anonymous_namespace{RelAlgDag.cpp}::anonymous_namespace{RelAlgDag.cpp}::is_window_function_avg | ( | const RexScalar * | rex | ) |
Definition at line 1984 of file RelAlgDag.cpp.
References CHECK_EQ, COUNT, RexOperator::getOperand(), RexOperator::getOperator(), is_window_function_sum(), kDIVIDE, and RexOperator::size().
Referenced by is_window_function_operator().
bool anonymous_namespace{RelAlgDag.cpp}::anonymous_namespace{RelAlgDag.cpp}::is_window_function_operator | ( | const RexScalar * | rex | ) |
Definition at line 2004 of file RelAlgDag.cpp.
References is_window_function_avg(), and is_window_function_sum().
Referenced by RelProject::hasWindowFunctionExpr(), anonymous_namespace{RelAlgDag.cpp}::separate_window_function_expressions(), anonymous_namespace{RelAlgDag.cpp}::WindowFunctionCollector::visitCase(), and anonymous_namespace{RelAlgDag.cpp}::WindowFunctionCollector::visitOperator().
bool anonymous_namespace{RelAlgDag.cpp}::anonymous_namespace{RelAlgDag.cpp}::is_window_function_sum | ( | const RexScalar * | rex | ) |
Definition at line 1970 of file RelAlgDag.cpp.
References SUM_INTERNAL.
Referenced by is_window_function_avg(), and is_window_function_operator().
std::pair<bool, bool> anonymous_namespace{RelAlgDag.cpp}::anonymous_namespace{RelAlgDag.cpp}::need_pushdown_generic_expr | ( | RelProject const * | window_func_project_node | ) |
Definition at line 2615 of file RelAlgDag.cpp.
References CHECK, find_generic_expr_in_window_func(), RelProject::getProjectAt(), run_benchmark_import::res, and RelProject::size().
Referenced by anonymous_namespace{RelAlgDag.cpp}::add_window_function_pre_project().
|
noexcept |
Definition at line 1642 of file RelAlgDag.cpp.
References CHECK, CHECK_LT, and run_benchmark_import::result.
Referenced by anonymous_namespace{RelAlgDag.cpp}::create_compound().