OmniSciDB
c1a53651b2
|
#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) | |
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 |
size_t | toHash () const override |
![]() | |
virtual | ~Rex () |
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 |
Additional Inherited Members | |
![]() | |
std::optional< size_t > | hash_ |
Definition at line 426 of file RelAlgDag.h.
|
default |
|
inline |
Definition at line 431 of file RelAlgDag.h.
|
inline |
Definition at line 436 of file RelAlgDag.h.
References expr_pair_list_.
Referenced by anonymous_namespace{RelAlgDag.cpp}::disambiguate_case(), toHash(), 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 448 of file RelAlgDag.h.
References else_expr_.
Referenced by anonymous_namespace{RelAlgDag.cpp}::disambiguate_case(), toHash(), 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 443 of file RelAlgDag.h.
References CHECK, and expr_pair_list_.
Referenced by anonymous_namespace{RelAlgDag.cpp}::disambiguate_case(), toHash(), 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 438 of file RelAlgDag.h.
References CHECK, and expr_pair_list_.
Referenced by anonymous_namespace{RelAlgDag.cpp}::disambiguate_case(), toHash(), 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 460 of file RelAlgDag.h.
References branchCount(), getElse(), getThen(), getWhen(), Rex::hash_, HASH_N, and RexCase().
Referenced by anonymous_namespace{RelAlgDag.cpp}::RexWindowFuncReplacementVisitor::visitCase().
|
inlineoverridevirtual |
Implements Rex.
Definition at line 450 of file RelAlgDag.h.
References cat(), else_expr_, expr_pair_list_, and typeName().
|
friend |
Definition at line 478 of file RelAlgDag.h.
|
private |
Definition at line 476 of file RelAlgDag.h.
Referenced by getElse(), and toString().
|
private |
Definition at line 475 of file RelAlgDag.h.
Referenced by branchCount(), getThen(), getWhen(), and toString().