OmniSciDB
c1a53651b2
|
Public Member Functions | |
RexWindowFuncReplacementVisitor (std::unordered_set< size_t > &collected_window_func_hash, std::vector< std::unique_ptr< const RexScalar >> &new_rex_input_for_window_func, std::unordered_map< size_t, size_t > &window_func_to_new_rex_input_idx_map, RelProject *new_project, std::unordered_map< size_t, std::unique_ptr< const RexInput >> &new_rex_input_from_child_node) | |
![]() | |
virtual std::unique_ptr< const RexScalar > | visit (const RexScalar *rex_scalar) const |
Protected Member Functions | |
RetType | visitInput (const RexInput *rex_input) const final |
RetType | visitOperator (const RexOperator *rex_operator) const final |
RetType | visitCase (const RexCase *rex_case) const final |
![]() | |
RetType | visitInput (const RexInput *input) const override |
RetType | visitLiteral (const RexLiteral *literal) const override |
RetType | visitSubQuery (const RexSubQuery *subquery) const override |
RetType | visitRef (const RexRef *ref) const override |
RetType | visitOperator (const RexOperator *rex_operator) const override |
RetType | visitWindowFunctionOperator (const RexWindowFunctionOperator *rex_window_function_operator) const |
RetType | visitCase (const RexCase *rex_case) const override |
Private Member Functions | |
std::optional< size_t > | is_collected_window_function (size_t rex_hash) const |
std::unique_ptr< const RexScalar > | get_new_rex_input (size_t rex_idx) const |
Private Attributes | |
std::unordered_set< size_t > & | collected_window_func_hash_ |
std::vector< std::unique_ptr < const RexScalar > > & | new_rex_input_for_window_func_ |
std::unordered_map< size_t, size_t > & | window_func_to_new_rex_input_idx_map_ |
RelProject * | new_project_ |
std::unordered_map< size_t, std::unique_ptr< const RexInput > > & | new_rex_input_from_child_node_ |
RexDeepCopyVisitor | copier_ |
Additional Inherited Members | |
![]() | |
using | RowValues = std::vector< std::unique_ptr< const RexScalar >> |
![]() | |
static std::vector< RowValues > | copy (std::vector< RowValues > const &rhs) |
![]() | |
using | RetType = std::unique_ptr< const RexScalar > |
Definition at line 2182 of file RelAlgDag.cpp.
|
inline |
Definition at line 2184 of file RelAlgDag.cpp.
References CHECK, CHECK_EQ, and CHECK_LT.
|
inlineprivate |
Definition at line 2297 of file RelAlgDag.cpp.
References CHECK, CHECK_GE, and CHECK_LT.
|
inlineprivate |
Definition at line 2289 of file RelAlgDag.cpp.
|
inlinefinalprotectedvirtual |
Implements RexVisitorBase< std::unique_ptr< const RexScalar > >.
Definition at line 2258 of file RelAlgDag.cpp.
References RexCase::branchCount(), RexCase::getElse(), RexCase::getThen(), RexCase::getWhen(), Rex::toHash(), and RexCase::toHash().
|
inlinefinalprotectedvirtual |
Implements RexVisitorBase< std::unique_ptr< const RexScalar > >.
Definition at line 2207 of file RelAlgDag.cpp.
|
inlinefinalprotectedvirtual |
Implements RexVisitorBase< std::unique_ptr< const RexScalar > >.
Definition at line 2231 of file RelAlgDag.cpp.
|
private |
Definition at line 2306 of file RelAlgDag.cpp.
|
private |
Definition at line 2314 of file RelAlgDag.cpp.
|
private |
Definition at line 2311 of file RelAlgDag.cpp.
|
private |
Definition at line 2308 of file RelAlgDag.cpp.
|
private |
Definition at line 2313 of file RelAlgDag.cpp.
|
private |
Definition at line 2310 of file RelAlgDag.cpp.