OmniSciDB
c1a53651b2
|
#include <RelAlgDag.h>
Public Member Functions | |
RexOperator () | |
RexOperator (const SQLOps op, std::vector< std::unique_ptr< const RexScalar >> &operands, const SQLTypeInfo &type) | |
virtual std::unique_ptr< const RexOperator > | getDisambiguated (std::vector< std::unique_ptr< const RexScalar >> &operands) const |
size_t | size () const |
const RexScalar * | getOperand (const size_t idx) const |
const RexScalar * | getOperandAndRelease (const size_t idx) const |
SQLOps | getOperator () const |
const SQLTypeInfo & | getType () const |
std::string | toString (RelRexToStringConfig config=RelRexToStringConfig::defaults()) const override |
size_t | toHash () const override |
![]() | |
virtual | ~Rex () |
Protected Attributes | |
SQLOps | op_ |
std::vector< std::unique_ptr < const RexScalar > > | operands_ |
SQLTypeInfo | type_ |
![]() | |
std::optional< size_t > | hash_ |
Friends | |
struct | RelAlgDagSerializer |
Definition at line 255 of file RelAlgDag.h.
|
inline |
Definition at line 258 of file RelAlgDag.h.
References kINVALID_OP.
Referenced by getDisambiguated(), and toHash().
|
inline |
Definition at line 260 of file RelAlgDag.h.
|
inlinevirtual |
Reimplemented in RexFunctionOperator.
Definition at line 265 of file RelAlgDag.h.
References op_, RexOperator(), and type_.
Referenced by RexDeepCopyVisitor::visitOperator().
|
inline |
Definition at line 272 of file RelAlgDag.h.
References CHECK, and operands_.
Referenced by anonymous_namespace{RelAlgDag.cpp}::anonymous_namespace{RelAlgDag.cpp}::find_generic_expr_in_window_func(), anonymous_namespace{RelAlgDag.cpp}::anonymous_namespace{RelAlgDag.cpp}::is_window_function_avg(), anonymous_namespace{RelAlgDag.cpp}::PushDownGenericExpressionInWindowFunction::pushDownExpressionInWindowFunction(), RelAlgTranslator::translateAbs(), RelAlgTranslator::translateBinaryGeoConstructor(), RelAlgTranslator::translateBinaryGeoFunction(), RelAlgTranslator::translateBinaryGeoPredicate(), RelAlgTranslator::translateCardinality(), RelAlgTranslator::translateDateadd(), RelAlgTranslator::translateDatediff(), RelAlgTranslator::translateDatepart(), RelAlgTranslator::translateDatePlusMinus(), RelAlgTranslator::translateDatetime(), RelAlgTranslator::translateExtract(), RelAlgTranslator::translateFunction(), RelAlgTranslator::translateFunctionArgs(), RelAlgTranslator::translateFunctionWithGeoArg(), RelAlgTranslator::translateGeoComparison(), RelAlgTranslator::translateGeoOverlapsOper(), RelAlgTranslator::translateGeoProjection(), RelAlgTranslator::translateHPTLiteral(), RelAlgTranslator::translateInOper(), RelAlgTranslator::translateItem(), RelAlgTranslator::translateLength(), RelAlgTranslator::translateLike(), RelAlgTranslator::translateLikely(), RelAlgTranslator::translateOper(), RelAlgTranslator::translateOverlapsOper(), RelAlgTranslator::translateRegexp(), RelAlgTranslator::translateSampleRatio(), RelAlgTranslator::translateSign(), RelAlgTranslator::translateTernaryGeoFunction(), RelAlgTranslator::translateUnaryGeoConstructor(), RelAlgTranslator::translateUnaryGeoFunction(), RelAlgTranslator::translateUnaryGeoPredicate(), RelAlgTranslator::translateUnlikely(), RelAlgTranslator::translateUoper(), RelAlgTranslator::translateWidthBucket(), RelAlgTranslator::translateWindowFunction(), RelRexDagVisitor::visit(), QueryPlanDagChecker::visit(), anonymous_namespace{QueryPhysicalInputsCollector.cpp}::RexPhysicalInputsVisitor::visitOperator(), RexVisitor< T >::visitOperator(), RexDeepCopyVisitor::visitOperator(), anonymous_namespace{RelAlgDag.cpp}::PushDownGenericExpressionInWindowFunction::visitOperator(), and RexDeepCopyVisitor::visitWindowFunctionOperator().
|
inline |
Definition at line 277 of file RelAlgDag.h.
References CHECK, and operands_.
|
inline |
Definition at line 282 of file RelAlgDag.h.
References op_.
Referenced by anonymous_namespace{RelAlgDag.cpp}::anonymous_namespace{RelAlgDag.cpp}::is_window_function_avg(), RelAlgTranslator::translateDatePlusMinus(), RelAlgTranslator::translateGeoComparison(), RelAlgTranslator::translateOper(), RelAlgTranslator::translateOverlapsOper(), RelAlgTranslator::translateUoper(), SQLOperatorDetector::visit(), QueryPlanDagChecker::visit(), and anonymous_namespace{RelAlgDag.cpp}::PushDownGenericExpressionInWindowFunction::visitOperator().
|
inline |
Definition at line 284 of file RelAlgDag.h.
References type_.
Referenced by RexWindowFunctionOperator::disambiguatedOperands(), RexFunctionOperator::getDisambiguated(), toHash(), RexFunctionOperator::toHash(), RexWindowFunctionOperator::toHash(), RelAlgTranslator::translateArrayFunction(), RelAlgTranslator::translateBinaryGeoFunction(), RelAlgTranslator::translateCardinality(), RelAlgTranslator::translateDatePlusMinus(), RelAlgTranslator::translateFunction(), RelAlgTranslator::translateFunctionWithGeoArg(), RelAlgTranslator::translateHPTLiteral(), RelAlgTranslator::translateStringOper(), RelAlgTranslator::translateTernaryGeoFunction(), RelAlgTranslator::translateUnaryGeoFunction(), RelAlgTranslator::translateUoper(), RelAlgTranslator::translateWindowFunction(), and anonymous_namespace{RelAlgDag.cpp}::PushDownGenericExpressionInWindowFunction::visitOperator().
|
inline |
Definition at line 270 of file RelAlgDag.h.
References operands_.
Referenced by anonymous_namespace{RelAlgDag.cpp}::anonymous_namespace{RelAlgDag.cpp}::find_generic_expr_in_window_func(), anonymous_namespace{RelAlgDag.cpp}::anonymous_namespace{RelAlgDag.cpp}::is_window_function_avg(), anonymous_namespace{RelAlgDag.cpp}::PushDownGenericExpressionInWindowFunction::pushDownExpressionInWindowFunction(), RelAlgTranslator::translateAbs(), RelAlgTranslator::translateBinaryGeoFunction(), RelAlgTranslator::translateDateadd(), RelAlgTranslator::translateDatediff(), RelAlgTranslator::translateDatepart(), RelAlgTranslator::translateDatePlusMinus(), RelAlgTranslator::translateDatetime(), RelAlgTranslator::translateExtract(), RelAlgTranslator::translateFunction(), RelAlgTranslator::translateFunctionArgs(), RelAlgTranslator::translateFunctionWithGeoArg(), RelAlgTranslator::translateGeoComparison(), RelAlgTranslator::translateGeoOverlapsOper(), RelAlgTranslator::translateHPTLiteral(), RelAlgTranslator::translateInOper(), RelAlgTranslator::translateItem(), RelAlgTranslator::translateLength(), RelAlgTranslator::translateLike(), RelAlgTranslator::translateLikely(), RelAlgTranslator::translateOper(), RelAlgTranslator::translateRegexp(), RelAlgTranslator::translateSampleRatio(), RelAlgTranslator::translateSign(), RelAlgTranslator::translateTernaryGeoFunction(), RelAlgTranslator::translateUnaryGeoFunction(), RelAlgTranslator::translateUnlikely(), RelAlgTranslator::translateUoper(), RelAlgTranslator::translateWidthBucket(), RelAlgTranslator::translateWindowFunction(), RelRexDagVisitor::visit(), QueryPlanDagChecker::visit(), anonymous_namespace{QueryPhysicalInputsCollector.cpp}::RexPhysicalInputsVisitor::visitOperator(), RexVisitor< T >::visitOperator(), RexDeepCopyVisitor::visitOperator(), anonymous_namespace{RelAlgDag.cpp}::PushDownGenericExpressionInWindowFunction::visitOperator(), and RexDeepCopyVisitor::visitWindowFunctionOperator().
|
inlineoverridevirtual |
Implements Rex.
Reimplemented in RexWindowFunctionOperator, and RexFunctionOperator.
Definition at line 295 of file RelAlgDag.h.
References getType(), Rex::hash_, op_, operands_, and RexOperator().
|
inlineoverridevirtual |
Implements Rex.
Reimplemented in RexWindowFunctionOperator, and RexFunctionOperator.
Definition at line 286 of file RelAlgDag.h.
References cat(), op_, operands_, to_string(), SQLTypeInfo::to_string(), type_, and typeName().
|
friend |
Definition at line 312 of file RelAlgDag.h.
|
protected |
Definition at line 308 of file RelAlgDag.h.
Referenced by getDisambiguated(), getOperator(), toHash(), RexFunctionOperator::toHash(), and toString().
|
mutableprotected |
Definition at line 309 of file RelAlgDag.h.
Referenced by getOperand(), getOperandAndRelease(), RexWindowFunctionOperator::replaceOperands(), size(), toHash(), RexFunctionOperator::toHash(), RexWindowFunctionOperator::toHash(), toString(), RexFunctionOperator::toString(), and RexWindowFunctionOperator::toString().
|
protected |
Definition at line 310 of file RelAlgDag.h.
Referenced by getDisambiguated(), getType(), and toString().