OmniSciDB
a5dc49c757
|
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) | |
Public Member Functions inherited from RexVisitorBase< std::unique_ptr< const RexScalar > > | |
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 |
Protected Member Functions inherited from RexDeepCopyVisitor | |
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 | |
Public Types inherited from RexDeepCopyVisitor | |
using | RowValues = std::vector< std::unique_ptr< const RexScalar >> |
Static Public Member Functions inherited from RexDeepCopyVisitor | |
static std::vector< RowValues > | copy (std::vector< RowValues > const &rhs) |
Protected Types inherited from RexDeepCopyVisitor | |
using | RetType = std::unique_ptr< const RexScalar > |
Definition at line 2280 of file RelAlgDag.cpp.
|
inline |
Definition at line 2282 of file RelAlgDag.cpp.
References CHECK, CHECK_EQ, and CHECK_LT.
|
inlineprivate |
Definition at line 2395 of file RelAlgDag.cpp.
References CHECK, CHECK_GE, and CHECK_LT.
|
inlineprivate |
Definition at line 2387 of file RelAlgDag.cpp.
|
inlinefinalprotectedvirtual |
Implements RexVisitorBase< std::unique_ptr< const RexScalar > >.
Definition at line 2356 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 2305 of file RelAlgDag.cpp.
|
inlinefinalprotectedvirtual |
Implements RexVisitorBase< std::unique_ptr< const RexScalar > >.
Definition at line 2329 of file RelAlgDag.cpp.
|
private |
Definition at line 2404 of file RelAlgDag.cpp.
|
private |
Definition at line 2412 of file RelAlgDag.cpp.
|
private |
Definition at line 2409 of file RelAlgDag.cpp.
|
private |
Definition at line 2406 of file RelAlgDag.cpp.
|
private |
Definition at line 2411 of file RelAlgDag.cpp.
|
private |
Definition at line 2408 of file RelAlgDag.cpp.