OmniSciDB
a5dc49c757
|
#include "RelLeftDeepInnerJoin.h"
#include "Logger/Logger.h"
#include "RelAlgDag.h"
#include "RexVisitor.h"
#include <numeric>
Go to the source code of this file.
Classes | |
class | anonymous_namespace{RelLeftDeepInnerJoin.cpp}::RebindRexInputsFromLeftDeepJoin |
Namespaces | |
anonymous_namespace{RelLeftDeepInnerJoin.cpp} | |
Functions | |
void | anonymous_namespace{RelLeftDeepInnerJoin.cpp}::collect_left_deep_join_inputs (std::deque< std::shared_ptr< const RelAlgNode >> &inputs, std::vector< std::shared_ptr< const RelJoin >> &original_joins, const std::shared_ptr< const RelJoin > &join) |
std::pair< std::shared_ptr < RelLeftDeepInnerJoin > , std::shared_ptr< const RelAlgNode > > | anonymous_namespace{RelLeftDeepInnerJoin.cpp}::create_left_deep_join (const std::shared_ptr< RelAlgNode > &left_deep_join_root) |
std::shared_ptr< const RelAlgNode > | get_left_deep_join_root (const std::shared_ptr< RelAlgNode > &node) |
void | rebind_inputs_from_left_deep_join (const RexScalar *rex, const RelLeftDeepInnerJoin *left_deep_join) |
void | create_left_deep_join (std::vector< std::shared_ptr< RelAlgNode >> &nodes) |
void create_left_deep_join | ( | std::vector< std::shared_ptr< RelAlgNode >> & | nodes | ) |
Definition at line 286 of file RelLeftDeepInnerJoin.cpp.
References CHECK_EQ, CHECK_GE, anonymous_namespace{RelLeftDeepInnerJoin.cpp}::create_left_deep_join(), rebind_inputs_from_left_deep_join(), and RelJoin::replaceInput().
std::shared_ptr<const RelAlgNode> get_left_deep_join_root | ( | const std::shared_ptr< RelAlgNode > & | node | ) |
Definition at line 257 of file RelLeftDeepInnerJoin.cpp.
References ANTI, RelAlgNode::getAndOwnInput(), INNER, join(), and SEMI.
Referenced by anonymous_namespace{RelLeftDeepInnerJoin.cpp}::create_left_deep_join(), and RelAlgDagBuilder::optimizeDag().
void rebind_inputs_from_left_deep_join | ( | const RexScalar * | rex, |
const RelLeftDeepInnerJoin * | left_deep_join | ||
) |
Definition at line 280 of file RelLeftDeepInnerJoin.cpp.
Referenced by create_left_deep_join(), and anonymous_namespace{RelAlgDag.cpp}::RexRebindInputsVisitor::visitInput().