OmniSciDB
a5dc49c757
|
#include <RelAlgDag.h>
Classes | |
struct | RexWindowBound |
Public Member Functions | |
RexWindowFunctionOperator () | |
RexWindowFunctionOperator (const SqlWindowFunctionKind kind, ConstRexScalarPtrVector &operands, ConstRexScalarPtrVector &partition_keys, ConstRexScalarPtrVector &order_keys, const std::vector< SortField > collation, const RexWindowBound &frame_start_bound, const RexWindowBound &frame_end_bound, const bool is_rows, const SQLTypeInfo &ti) | |
virtual void | acceptChildren (Visitor &v) const override |
virtual void | accept (Visitor &v, std::string name) const override |
SqlWindowFunctionKind | getKind () const |
const ConstRexScalarPtrVector & | getPartitionKeys () const |
ConstRexScalarPtrVector | getPartitionKeysAndRelease () const |
ConstRexScalarPtrVector | getOrderKeysAndRelease () const |
const ConstRexScalarPtrVector & | getOrderKeys () const |
void | replacePartitionKey (size_t offset, std::unique_ptr< const RexScalar > &&new_partition_key) |
void | replaceOrderKey (size_t offset, std::unique_ptr< const RexScalar > &&new_order_key) |
void | replaceOperands (std::vector< std::unique_ptr< const RexScalar >> &&new_operands) |
const std::vector< SortField > & | getCollation () const |
const RexWindowBound & | getFrameStartBound () const |
const RexWindowBound & | getFrameEndBound () const |
bool | isRows () const |
std::unique_ptr< const RexOperator > | disambiguatedOperands (ConstRexScalarPtrVector &operands, ConstRexScalarPtrVector &partition_keys, ConstRexScalarPtrVector &order_keys, const std::vector< SortField > &collation) const |
std::string | toString (RelRexToStringConfig config=RelRexToStringConfig::defaults()) const override |
virtual size_t | toHash () const override |
Public Member Functions inherited from RexFunctionOperator | |
RexFunctionOperator ()=default | |
RexFunctionOperator (const std::string &name, ConstRexScalarPtrVector &operands, const SQLTypeInfo &ti) | |
std::unique_ptr< const RexOperator > | getDisambiguated (std::vector< std::unique_ptr< const RexScalar >> &operands) const override |
const std::string & | getName () const |
Public Member Functions inherited from RexOperator | |
RexOperator () | |
RexOperator (const SQLOps op, std::vector< std::unique_ptr< const RexScalar >> &operands, const SQLTypeInfo &type) | |
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 |
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 | |
SqlWindowFunctionKind | kind_ |
ConstRexScalarPtrVector | partition_keys_ |
ConstRexScalarPtrVector | order_keys_ |
std::vector< SortField > | collation_ |
RexWindowBound | frame_start_bound_ |
RexWindowBound | frame_end_bound_ |
bool | is_rows_ |
Friends | |
struct | RelAlgDagSerializer |
std::size_t | hash_value (RexWindowFunctionOperator const &) |
Additional Inherited Members | |
Public Types inherited from RexFunctionOperator | |
using | ConstRexScalarPtr = std::unique_ptr< const RexScalar > |
using | ConstRexScalarPtrVector = std::vector< ConstRexScalarPtr > |
Protected Attributes inherited from RexOperator | |
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_ |
Definition at line 574 of file RelAlgDag.h.
|
inline |
Definition at line 602 of file RelAlgDag.h.
References UNKNOWN.
Referenced by disambiguatedOperands().
|
inline |
Definition at line 605 of file RelAlgDag.h.
|
inlineoverridevirtual |
Reimplemented from RexFunctionOperator.
Definition at line 635 of file RelAlgDag.h.
References acceptChildren(), and RelAlgDagNode::Visitor::visit().
Referenced by TableFunctionsFactory_node.PrintNode::__str__().
|
inlineoverridevirtual |
Reimplemented from RexFunctionOperator.
Definition at line 623 of file RelAlgDag.h.
References getOrderKeys(), and getPartitionKeys().
Referenced by accept().
|
inline |
Definition at line 678 of file RelAlgDag.h.
References getFrameEndBound(), getFrameStartBound(), RexOperator::getType(), isRows(), kind_, and RexWindowFunctionOperator().
Referenced by RexDeepCopyVisitor::visitWindowFunctionOperator().
|
inline |
Definition at line 670 of file RelAlgDag.h.
References collation_.
Referenced by RelAlgTranslator::translateWindowFunction(), and RexDeepCopyVisitor::visitWindowFunctionOperator().
|
inline |
Definition at line 674 of file RelAlgDag.h.
References frame_end_bound_.
Referenced by disambiguatedOperands(), and RelAlgTranslator::translateWindowFunction().
|
inline |
Definition at line 672 of file RelAlgDag.h.
References frame_start_bound_.
Referenced by disambiguatedOperands(), and RelAlgTranslator::translateWindowFunction().
|
inline |
Definition at line 641 of file RelAlgDag.h.
References kind_.
Referenced by RelAlgTranslator::translateWindowFunction().
|
inline |
Definition at line 653 of file RelAlgDag.h.
References order_keys_.
Referenced by acceptChildren(), anonymous_namespace{RelAlgDag.cpp}::anonymous_namespace{RelAlgDag.cpp}::find_generic_expr_in_window_func(), anonymous_namespace{RelAlgDag.cpp}::PushDownGenericExpressionInWindowFunction::pushDownExpressionInWindowFunction(), RelAlgTranslator::translateWindowFunction(), RelRexDagVisitor::visit(), RexVisitor< T >::visitWindowFunctionOperator(), and RexDeepCopyVisitor::visitWindowFunctionOperator().
|
inline |
Definition at line 649 of file RelAlgDag.h.
References order_keys_.
|
inline |
Definition at line 643 of file RelAlgDag.h.
References partition_keys_.
Referenced by acceptChildren(), anonymous_namespace{RelAlgDag.cpp}::disambiguate_operator(), anonymous_namespace{RelAlgDag.cpp}::anonymous_namespace{RelAlgDag.cpp}::find_generic_expr_in_window_func(), anonymous_namespace{RelAlgDag.cpp}::PushDownGenericExpressionInWindowFunction::pushDownExpressionInWindowFunction(), RelAlgTranslator::translateWindowFunction(), RelRexDagVisitor::visit(), RexVisitor< T >::visitWindowFunctionOperator(), and RexDeepCopyVisitor::visitWindowFunctionOperator().
|
inline |
Definition at line 645 of file RelAlgDag.h.
References partition_keys_.
|
inline |
Definition at line 676 of file RelAlgDag.h.
References is_rows_.
Referenced by disambiguatedOperands(), and RelAlgTranslator::translateWindowFunction().
|
inline |
Definition at line 666 of file RelAlgDag.h.
References RexOperator::operands_.
|
inline |
Definition at line 661 of file RelAlgDag.h.
References CHECK_LT, and order_keys_.
|
inline |
Definition at line 655 of file RelAlgDag.h.
References CHECK_LT, and partition_keys_.
|
inlineoverridevirtual |
Reimplemented from RexFunctionOperator.
Definition at line 716 of file RelAlgDag.h.
References hash_value.
|
inlineoverridevirtual |
Reimplemented from RexFunctionOperator.
Definition at line 695 of file RelAlgDag.h.
References cat(), RexFunctionOperator::getName(), RexOperator::operands_, order_keys_, partition_keys_, and typeName().
|
friend |
Definition at line 3622 of file RelAlgDag.cpp.
Referenced by toHash().
|
friend |
Definition at line 729 of file RelAlgDag.h.
|
private |
Definition at line 724 of file RelAlgDag.h.
Referenced by getCollation(), and hash_value().
|
private |
Definition at line 726 of file RelAlgDag.h.
Referenced by getFrameEndBound(), and hash_value().
|
private |
Definition at line 725 of file RelAlgDag.h.
Referenced by getFrameStartBound(), and hash_value().
|
private |
Definition at line 727 of file RelAlgDag.h.
Referenced by hash_value(), and isRows().
|
private |
Definition at line 721 of file RelAlgDag.h.
Referenced by disambiguatedOperands(), and getKind().
|
mutableprivate |
Definition at line 723 of file RelAlgDag.h.
Referenced by getOrderKeys(), getOrderKeysAndRelease(), hash_value(), replaceOrderKey(), and toString().
|
mutableprivate |
Definition at line 722 of file RelAlgDag.h.
Referenced by getPartitionKeys(), getPartitionKeysAndRelease(), hash_value(), replacePartitionKey(), and toString().