OmniSciDB
a5dc49c757
|
#include <RelAlgDag.h>
Public Member Functions | |
RexOperator () | |
RexOperator (const SQLOps op, std::vector< std::unique_ptr< const RexScalar >> &operands, const SQLTypeInfo &type) | |
virtual void | acceptChildren (Visitor &v) const override |
virtual void | accept (Visitor &v, std::string name) const override |
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 |
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 |
Protected Attributes | |
SQLOps | op_ |
std::vector< std::unique_ptr < const RexScalar > > | operands_ |
SQLTypeInfo | type_ |
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_ |
Friends | |
struct | RelAlgDagSerializer |
std::size_t | hash_value (RexOperator const &) |
Definition at line 336 of file RelAlgDag.h.
|
inline |
Definition at line 339 of file RelAlgDag.h.
References kINVALID_OP.
Referenced by getDisambiguated().
|
inline |
Definition at line 341 of file RelAlgDag.h.
|
inlineoverridevirtual |
Implements RelAlgDagNode.
Reimplemented in RexWindowFunctionOperator, and RexFunctionOperator.
Definition at line 353 of file RelAlgDag.h.
References acceptChildren(), and RelAlgDagNode::Visitor::visit().
Referenced by TableFunctionsFactory_node.PrintNode::__str__().
|
inlineoverridevirtual |
Implements RelAlgDagNode.
Reimplemented in RexWindowFunctionOperator, and RexFunctionOperator.
Definition at line 346 of file RelAlgDag.h.
References RelAlgDagNode::accept(), getOperand(), and size().
Referenced by accept().
|
inlinevirtual |
Reimplemented in RexFunctionOperator.
Definition at line 359 of file RelAlgDag.h.
References op_, RexOperator(), and type_.
Referenced by RexDeepCopyVisitor::visitOperator().
|
inline |
Definition at line 366 of file RelAlgDag.h.
References CHECK, and operands_.
Referenced by acceptChildren(), RexFunctionOperator::acceptChildren(), 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::translateBoundingBoxIntersectOper(), RelAlgTranslator::translateCardinality(), RelAlgTranslator::translateDateadd(), RelAlgTranslator::translateDatediff(), RelAlgTranslator::translateDatepart(), RelAlgTranslator::translateDatePlusMinus(), RelAlgTranslator::translateDatetime(), RelAlgTranslator::translateExtract(), RelAlgTranslator::translateFunction(), RelAlgTranslator::translateFunctionArgs(), RelAlgTranslator::translateFunctionWithGeoArg(), RelAlgTranslator::translateGeoBoundingBoxIntersectOper(), RelAlgTranslator::translateGeoComparison(), RelAlgTranslator::translateGeoProjection(), RelAlgTranslator::translateHPTLiteral(), RelAlgTranslator::translateInOper(), RelAlgTranslator::translateItem(), RelAlgTranslator::translateLength(), RelAlgTranslator::translateLike(), RelAlgTranslator::translateLikely(), RelAlgTranslator::translateMLPredict(), RelAlgTranslator::translateOper(), RelAlgTranslator::translatePCAProject(), 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 371 of file RelAlgDag.h.
References CHECK, and operands_.
|
inline |
Definition at line 376 of file RelAlgDag.h.
References op_.
Referenced by anonymous_namespace{RelAlgDag.cpp}::anonymous_namespace{RelAlgDag.cpp}::is_window_function_avg(), RelAlgTranslator::translateBoundingBoxIntersectOper(), RelAlgTranslator::translateDatePlusMinus(), RelAlgTranslator::translateGeoComparison(), RelAlgTranslator::translateOper(), RelAlgTranslator::translateUoper(), SQLOperatorDetector::visit(), QueryPlanDagChecker::visit(), and anonymous_namespace{RelAlgDag.cpp}::PushDownGenericExpressionInWindowFunction::visitOperator().
|
inline |
Definition at line 378 of file RelAlgDag.h.
References type_.
Referenced by RexWindowFunctionOperator::disambiguatedOperands(), RexFunctionOperator::getDisambiguated(), hash_value(), 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 364 of file RelAlgDag.h.
References operands_.
Referenced by acceptChildren(), RexFunctionOperator::acceptChildren(), 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::translateGeoBoundingBoxIntersectOper(), RelAlgTranslator::translateGeoComparison(), RelAlgTranslator::translateHPTLiteral(), RelAlgTranslator::translateInOper(), RelAlgTranslator::translateItem(), RelAlgTranslator::translateLength(), RelAlgTranslator::translateLike(), RelAlgTranslator::translateLikely(), RelAlgTranslator::translateMLPredict(), RelAlgTranslator::translateOper(), RelAlgTranslator::translatePCAProject(), 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 394 of file RelAlgDag.h.
References hash_value.
|
inlineoverridevirtual |
Implements RelAlgDagNode.
Reimplemented in RexWindowFunctionOperator, and RexFunctionOperator.
Definition at line 380 of file RelAlgDag.h.
References cat(), SQLTypeInfo::get_type(), op_, operands_, to_string(), SQLTypeInfo::to_string(), type_, and typeName().
|
friend |
|
friend |
Definition at line 403 of file RelAlgDag.h.
|
protected |
Definition at line 399 of file RelAlgDag.h.
Referenced by getDisambiguated(), getOperator(), hash_value(), and toString().
|
mutableprotected |
Definition at line 400 of file RelAlgDag.h.
Referenced by getOperand(), getOperandAndRelease(), hash_value(), RexWindowFunctionOperator::replaceOperands(), size(), toString(), RexFunctionOperator::toString(), and RexWindowFunctionOperator::toString().
|
protected |
Definition at line 401 of file RelAlgDag.h.
Referenced by getDisambiguated(), getType(), and toString().