OmniSciDB
f17484ade4
|
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 2253 of file RelAlgDag.cpp.
|
inline |
Definition at line 2255 of file RelAlgDag.cpp.
References CHECK, CHECK_EQ, and CHECK_LT.
|
inlineprivate |
Definition at line 2368 of file RelAlgDag.cpp.
References CHECK, CHECK_GE, and CHECK_LT.
|
inlineprivate |
Definition at line 2360 of file RelAlgDag.cpp.
|
inlinefinalprotectedvirtual |
Implements RexVisitorBase< std::unique_ptr< const RexScalar > >.
Definition at line 2329 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 2278 of file RelAlgDag.cpp.
|
inlinefinalprotectedvirtual |
Implements RexVisitorBase< std::unique_ptr< const RexScalar > >.
Definition at line 2302 of file RelAlgDag.cpp.
|
private |
Definition at line 2377 of file RelAlgDag.cpp.
|
private |
Definition at line 2385 of file RelAlgDag.cpp.
|
private |
Definition at line 2382 of file RelAlgDag.cpp.
|
private |
Definition at line 2379 of file RelAlgDag.cpp.
|
private |
Definition at line 2384 of file RelAlgDag.cpp.
|
private |
Definition at line 2381 of file RelAlgDag.cpp.