OmniSciDB
085a039ca4
|
#include <RelAlgDagBuilder.h>
Public Member Functions | |
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 | |
const SQLOps | op_ |
std::vector< std::unique_ptr < const RexScalar > > | operands_ |
const SQLTypeInfo | type_ |
![]() | |
std::optional< size_t > | hash_ |
Definition at line 233 of file RelAlgDagBuilder.h.
|
inline |
Definition at line 235 of file RelAlgDagBuilder.h.
Referenced by getDisambiguated(), and toHash().
|
inlinevirtual |
Reimplemented in RexFunctionOperator.
Definition at line 240 of file RelAlgDagBuilder.h.
References op_, RexOperator(), and type_.
Referenced by RexDeepCopyVisitor::visitOperator().
|
inline |
Definition at line 247 of file RelAlgDagBuilder.h.
References CHECK, and operands_.
Referenced by anonymous_namespace{RelAlgDagBuilder.cpp}::anonymous_namespace{RelAlgDagBuilder.cpp}::is_window_function_avg(), anonymous_namespace{RelAlgDagBuilder.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::translateUnaryGeoFunction(), RelAlgTranslator::translateUnaryGeoPredicate(), RelAlgTranslator::translateUnlikely(), RelAlgTranslator::translateUoper(), RelAlgTranslator::translateWidthBucket(), RelAlgTranslator::translateWindowFunction(), RelRexDagVisitor::visit(), QueryPlanDagChecker::visit(), anonymous_namespace{QueryPhysicalInputsCollector.cpp}::RexPhysicalInputsVisitor::visitOperator(), RexVisitor< std::unordered_set< const RexInput * > >::visitOperator(), RexDeepCopyVisitor::visitOperator(), anonymous_namespace{RelAlgDagBuilder.cpp}::PushDownGenericExpressionInWindowFunction::visitOperator(), and RexDeepCopyVisitor::visitWindowFunctionOperator().
|
inline |
Definition at line 252 of file RelAlgDagBuilder.h.
References CHECK, and operands_.
|
inline |
Definition at line 257 of file RelAlgDagBuilder.h.
References op_.
Referenced by anonymous_namespace{RelAlgDagBuilder.cpp}::anonymous_namespace{RelAlgDagBuilder.cpp}::is_window_function_avg(), RelAlgTranslator::translateDatePlusMinus(), RelAlgTranslator::translateGeoComparison(), RelAlgTranslator::translateOper(), RelAlgTranslator::translateOverlapsOper(), RelAlgTranslator::translateUoper(), SQLOperatorDetector::visit(), QueryPlanDagChecker::visit(), and anonymous_namespace{RelAlgDagBuilder.cpp}::PushDownGenericExpressionInWindowFunction::visitOperator().
|
inline |
Definition at line 259 of file RelAlgDagBuilder.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::translateTernaryGeoFunction(), RelAlgTranslator::translateUnaryGeoFunction(), RelAlgTranslator::translateUoper(), RelAlgTranslator::translateWindowFunction(), and anonymous_namespace{RelAlgDagBuilder.cpp}::PushDownGenericExpressionInWindowFunction::visitOperator().
|
inline |
Definition at line 245 of file RelAlgDagBuilder.h.
References operands_.
Referenced by anonymous_namespace{RelAlgDagBuilder.cpp}::anonymous_namespace{RelAlgDagBuilder.cpp}::is_window_function_avg(), anonymous_namespace{RelAlgDagBuilder.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< std::unordered_set< const RexInput * > >::visitOperator(), RexDeepCopyVisitor::visitOperator(), anonymous_namespace{RelAlgDagBuilder.cpp}::PushDownGenericExpressionInWindowFunction::visitOperator(), and RexDeepCopyVisitor::visitWindowFunctionOperator().
|
inlineoverridevirtual |
Implements Rex.
Reimplemented in RexWindowFunctionOperator, and RexFunctionOperator.
Definition at line 270 of file RelAlgDagBuilder.h.
References getType(), Rex::hash_, op_, operands_, and RexOperator().
|
inlineoverridevirtual |
Implements Rex.
Reimplemented in RexWindowFunctionOperator, and RexFunctionOperator.
Definition at line 261 of file RelAlgDagBuilder.h.
References cat(), op_, operands_, to_string(), SQLTypeInfo::to_string(), type_, and typeName().
|
protected |
Definition at line 283 of file RelAlgDagBuilder.h.
Referenced by getDisambiguated(), getOperator(), toHash(), RexFunctionOperator::toHash(), and toString().
|
mutableprotected |
Definition at line 284 of file RelAlgDagBuilder.h.
Referenced by getOperand(), getOperandAndRelease(), RexWindowFunctionOperator::replaceOperands(), size(), toHash(), RexFunctionOperator::toHash(), RexWindowFunctionOperator::toHash(), toString(), RexFunctionOperator::toString(), and RexWindowFunctionOperator::toString().
|
protected |
Definition at line 285 of file RelAlgDagBuilder.h.
Referenced by getDisambiguated(), getType(), and toString().