OmniSciDB
a5dc49c757
|
#include <RelAlgDag.h>
Public Member Functions | |
RexCase ()=default | |
RexCase (std::vector< std::pair< std::unique_ptr< const RexScalar >, std::unique_ptr< const RexScalar >>> &expr_pair_list, std::unique_ptr< const RexScalar > &else_expr) | |
virtual void | acceptChildren (Visitor &v) const override |
virtual void | accept (Visitor &v, std::string name) const override |
size_t | branchCount () const |
const RexScalar * | getWhen (const size_t idx) const |
const RexScalar * | getThen (const size_t idx) const |
const RexScalar * | getElse () const |
std::string | toString (RelRexToStringConfig config=RelRexToStringConfig::defaults()) const override |
virtual size_t | toHash () const override |
Public Member Functions inherited from Rex | |
virtual | ~Rex () |
virtual size_t | getStepNumber () const |
Public Member Functions inherited from RelAlgDagNode | |
RelAlgDagNode () | |
virtual void | setStepNumber (size_t step) const |
std::optional< size_t > | getIdInPlanTree () const |
void | setIdInPlanTree (size_t id) const |
Private Attributes | |
std::vector< std::pair < std::unique_ptr< const RexScalar >, std::unique_ptr < const RexScalar > > > | expr_pair_list_ |
std::unique_ptr< const RexScalar > | else_expr_ |
Friends | |
struct | RelAlgDagSerializer |
std::size_t | hash_value (RexCase const &) |
Additional Inherited Members | |
Protected Attributes inherited from Rex | |
std::optional< size_t > | hash_ |
Protected Attributes inherited from RelAlgDagNode | |
size_t | step_ {0} |
std::optional< size_t > | id_in_plan_tree_ |
Definition at line 408 of file RelAlgDag.h.
|
default |
|
inline |
Definition at line 413 of file RelAlgDag.h.
|
inlineoverridevirtual |
Implements RelAlgDagNode.
Definition at line 427 of file RelAlgDag.h.
References acceptChildren(), and RelAlgDagNode::Visitor::visit().
Referenced by TableFunctionsFactory_node.PrintNode::__str__().
|
inlineoverridevirtual |
Implements RelAlgDagNode.
Definition at line 418 of file RelAlgDag.h.
References RelAlgDagNode::accept(), branchCount(), getElse(), getThen(), and getWhen().
Referenced by accept().
|
inline |
Definition at line 433 of file RelAlgDag.h.
References expr_pair_list_.
Referenced by acceptChildren(), anonymous_namespace{RelAlgDag.cpp}::disambiguate_case(), RelAlgTranslator::translateCase(), RelRexDagVisitor::visit(), RexVisitor< T >::visitCase(), RexDeepCopyVisitor::visitCase(), anonymous_namespace{RelAlgDag.cpp}::PushDownGenericExpressionInWindowFunction::visitCase(), anonymous_namespace{RelAlgDag.cpp}::WindowFunctionCollector::visitCase(), and anonymous_namespace{RelAlgDag.cpp}::RexWindowFuncReplacementVisitor::visitCase().
|
inline |
Definition at line 445 of file RelAlgDag.h.
References else_expr_.
Referenced by acceptChildren(), anonymous_namespace{RelAlgDag.cpp}::disambiguate_case(), RelAlgTranslator::translateCase(), RelRexDagVisitor::visit(), RexVisitor< T >::visitCase(), RexDeepCopyVisitor::visitCase(), anonymous_namespace{RelAlgDag.cpp}::PushDownGenericExpressionInWindowFunction::visitCase(), anonymous_namespace{RelAlgDag.cpp}::WindowFunctionCollector::visitCase(), and anonymous_namespace{RelAlgDag.cpp}::RexWindowFuncReplacementVisitor::visitCase().
|
inline |
Definition at line 440 of file RelAlgDag.h.
References CHECK, and expr_pair_list_.
Referenced by acceptChildren(), anonymous_namespace{RelAlgDag.cpp}::disambiguate_case(), RelAlgTranslator::translateCase(), RelRexDagVisitor::visit(), RexVisitor< T >::visitCase(), RexDeepCopyVisitor::visitCase(), anonymous_namespace{RelAlgDag.cpp}::PushDownGenericExpressionInWindowFunction::visitCase(), anonymous_namespace{RelAlgDag.cpp}::WindowFunctionCollector::visitCase(), and anonymous_namespace{RelAlgDag.cpp}::RexWindowFuncReplacementVisitor::visitCase().
|
inline |
Definition at line 435 of file RelAlgDag.h.
References CHECK, and expr_pair_list_.
Referenced by acceptChildren(), anonymous_namespace{RelAlgDag.cpp}::disambiguate_case(), RelAlgTranslator::translateCase(), RelRexDagVisitor::visit(), RexVisitor< T >::visitCase(), RexDeepCopyVisitor::visitCase(), anonymous_namespace{RelAlgDag.cpp}::PushDownGenericExpressionInWindowFunction::visitCase(), anonymous_namespace{RelAlgDag.cpp}::WindowFunctionCollector::visitCase(), and anonymous_namespace{RelAlgDag.cpp}::RexWindowFuncReplacementVisitor::visitCase().
|
inlineoverridevirtual |
Implements Rex.
Definition at line 461 of file RelAlgDag.h.
References hash_value.
Referenced by anonymous_namespace{RelAlgDag.cpp}::RexWindowFuncReplacementVisitor::visitCase().
|
inlineoverridevirtual |
Implements RelAlgDagNode.
Definition at line 447 of file RelAlgDag.h.
References cat(), else_expr_, expr_pair_list_, and typeName().
|
friend |
|
friend |
Definition at line 471 of file RelAlgDag.h.
|
private |
Definition at line 469 of file RelAlgDag.h.
Referenced by getElse(), hash_value(), and toString().
|
private |
Definition at line 468 of file RelAlgDag.h.
Referenced by branchCount(), getThen(), getWhen(), hash_value(), and toString().