OmniSciDB
cde582ebc3
|
#include <RelRexDagVisitor.h>
Public Member Functions | |
virtual | ~RelRexDagVisitor ()=default |
virtual void | visit (RelAlgNode const *) |
virtual void | visit (RexScalar const *) |
Protected Member Functions | |
virtual void | visit (RelAggregate const *) |
virtual void | visit (RelCompound const *) |
virtual void | visit (RelFilter const *) |
virtual void | visit (RelJoin const *) |
virtual void | visit (RelLeftDeepInnerJoin const *) |
virtual void | visit (RelLogicalUnion const *) |
virtual void | visit (RelLogicalValues const *) |
virtual void | visit (RelModify const *) |
virtual void | visit (RelProject const *) |
virtual void | visit (RelScan const *) |
virtual void | visit (RelSort const *) |
virtual void | visit (RelTableFunction const *) |
virtual void | visit (RelTranslatedJoin const *) |
virtual void | visit (RexAbstractInput const *) |
virtual void | visit (RexCase const *) |
virtual void | visit (RexFunctionOperator const *) |
virtual void | visit (RexInput const *) |
virtual void | visit (RexLiteral const *) |
virtual void | visit (RexOperator const *) |
virtual void | visit (RexRef const *) |
virtual void | visit (RexSubQuery const *) |
virtual void | visit (RexWindowFunctionOperator const *) |
void | castAndVisit (RelAlgNode const *) |
Private Types | |
template<typename T , size_t N> | |
using | Handlers = std::array< TypeHandler< RelRexDagVisitor, T >, N > |
Private Member Functions | |
template<typename T , typename U > | |
void | cast (T const *node) |
Static Private Member Functions | |
template<typename T , typename... Ts> | |
static Handlers< T, sizeof...(Ts)> | make_handlers () |
Definition at line 35 of file RelRexDagVisitor.h.
|
private |
Definition at line 75 of file RelRexDagVisitor.h.
|
virtualdefault |
|
inlineprivate |
Definition at line 70 of file RelRexDagVisitor.h.
References visit().
|
protected |
Definition at line 40 of file RelRexDagVisitor.cpp.
References RelRexToStringConfig::defaults(), logger::FATAL, LOG, gpu_enabled::lower_bound(), make_handlers(), and RelAlgNode::toString().
Referenced by visit().
|
staticprivate |
Definition at line 32 of file RelRexDagVisitor.cpp.
References gpu_enabled::sort(), and heavydb.dtypes::T.
Referenced by castAndVisit(), and visit().
|
virtual |
Definition at line 68 of file RelRexDagVisitor.cpp.
References castAndVisit(), RelAlgNode::getInput(), and RelAlgNode::inputCount().
Referenced by cast(), QueryPlanDagChecker::check(), SQLOperatorDetector::visit(), RexSubQueryIdCollector::visit(), visit(), QueryPlanDagChecker::visit(), and ScanNodeTableKeyCollector::visit().
|
virtual |
Definition at line 130 of file RelRexDagVisitor.cpp.
References RelRexToStringConfig::defaults(), logger::FATAL, LOG, gpu_enabled::lower_bound(), make_handlers(), and Rex::toString().
|
inlineprotectedvirtual |
Definition at line 42 of file RelRexDagVisitor.h.
|
protectedvirtual |
Reimplemented in QueryPlanDagChecker.
Definition at line 75 of file RelRexDagVisitor.cpp.
References RelCompound::getFilterExpr(), RelCompound::getScalarSource(), RelCompound::getScalarSourcesSize(), and visit().
|
protectedvirtual |
Definition at line 84 of file RelRexDagVisitor.cpp.
References RelFilter::getCondition(), and visit().
|
protectedvirtual |
Definition at line 88 of file RelRexDagVisitor.cpp.
References RelJoin::getCondition(), and visit().
|
protectedvirtual |
Definition at line 92 of file RelRexDagVisitor.cpp.
References RelLeftDeepInnerJoin::getInnerCondition(), RelLeftDeepInnerJoin::getOuterCondition(), RelAlgNode::inputCount(), and visit().
|
inlineprotectedvirtual |
|
protectedvirtual |
Reimplemented in QueryPlanDagChecker.
Definition at line 101 of file RelRexDagVisitor.cpp.
References RelLogicalValues::getNumRows(), RelLogicalValues::getRowsSize(), RelLogicalValues::getValueAt(), and visit().
|
inlineprotectedvirtual |
|
protectedvirtual |
Reimplemented in QueryPlanDagChecker.
Definition at line 109 of file RelRexDagVisitor.cpp.
References RelProject::getProjectAt(), RelProject::size(), and visit().
|
inlineprotectedvirtual |
Reimplemented in anonymous_namespace{QueryPhysicalInputsCollector.cpp}::RelAlgPhysicalTableInputsVisitor, ScanNodeTableKeyCollector, and QueryPlanDagChecker.
Definition at line 51 of file RelRexDagVisitor.h.
|
inlineprotectedvirtual |
Definition at line 52 of file RelRexDagVisitor.h.
|
protectedvirtual |
Definition at line 115 of file RelRexDagVisitor.cpp.
References RelTableFunction::getTableFuncInputAt(), RelTableFunction::getTableFuncInputsSize(), and visit().
|
protectedvirtual |
Definition at line 121 of file RelRexDagVisitor.cpp.
References RelTranslatedJoin::getLHS(), RelTranslatedJoin::getOuterJoinCond(), RelTranslatedJoin::getRHS(), and visit().
|
inlineprotectedvirtual |
Definition at line 56 of file RelRexDagVisitor.h.
|
protectedvirtual |
Definition at line 164 of file RelRexDagVisitor.cpp.
References RexCase::branchCount(), RexCase::getElse(), RexCase::getThen(), RexCase::getWhen(), and visit().
|
protectedvirtual |
Reimplemented in QueryPlanDagChecker.
Definition at line 174 of file RelRexDagVisitor.cpp.
References RexOperator::getOperand(), RexOperator::size(), and visit().
|
protectedvirtual |
Definition at line 190 of file RelRexDagVisitor.cpp.
References RexInput::getSourceNode(), and visit().
|
inlineprotectedvirtual |
Definition at line 60 of file RelRexDagVisitor.h.
|
protectedvirtual |
Reimplemented in QueryPlanDagChecker, and SQLOperatorDetector.
Definition at line 180 of file RelRexDagVisitor.cpp.
References RexOperator::getOperand(), RexOperator::size(), and visit().
|
inlineprotectedvirtual |
Definition at line 62 of file RelRexDagVisitor.h.
|
protectedvirtual |
Reimplemented in RexSubQueryIdCollector.
Definition at line 186 of file RelRexDagVisitor.cpp.
References visit().
|
protectedvirtual |
Definition at line 154 of file RelRexDagVisitor.cpp.
References RexWindowFunctionOperator::getOrderKeys(), RexWindowFunctionOperator::getPartitionKeys(), and visit().