OmniSciDB
a5dc49c757
|
#include <Analyzer.h>
Public Member Functions | |
CaseExpr (const SQLTypeInfo &ti, bool has_agg, const std::list< std::pair< std::shared_ptr< Analyzer::Expr >, std::shared_ptr< Analyzer::Expr >>> &w, std::shared_ptr< Analyzer::Expr > e) | |
const std::list< std::pair < std::shared_ptr < Analyzer::Expr > , std::shared_ptr < Analyzer::Expr > > > & | get_expr_pair_list () const |
const Expr * | get_else_expr () const |
std::shared_ptr< Analyzer::Expr > | deep_copy () const override |
void | check_group_by (const std::list< std::shared_ptr< Analyzer::Expr >> &groupby) const override |
void | group_predicates (std::list< const Expr * > &scan_predicates, std::list< const Expr * > &join_predicates, std::list< const Expr * > &const_predicates) const override |
void | collect_rte_idx (std::set< int > &rte_idx_set) const override |
void | collect_column_var (std::set< const ColumnVar *, bool(*)(const ColumnVar *, const ColumnVar *)> &colvar_set, bool include_agg) const override |
std::shared_ptr< Analyzer::Expr > | rewrite_with_targetlist (const std::vector< std::shared_ptr< TargetEntry >> &tlist) const override |
std::shared_ptr< Analyzer::Expr > | rewrite_with_child_targetlist (const std::vector< std::shared_ptr< TargetEntry >> &tlist) const override |
std::shared_ptr< Analyzer::Expr > | rewrite_agg_to_var (const std::vector< std::shared_ptr< TargetEntry >> &tlist) const override |
bool | operator== (const Expr &rhs) const override |
std::string | toString () const override |
void | find_expr (std::function< bool(const Expr *)> f, std::list< const Expr * > &expr_list) const override |
std::shared_ptr< Analyzer::Expr > | add_cast (const SQLTypeInfo &new_type_info) override |
void | get_domain (DomainSet &domain_set) const override |
Public Member Functions inherited from Analyzer::Expr | |
Expr (SQLTypes t, bool notnull) | |
Expr (SQLTypes t, int d, bool notnull) | |
Expr (SQLTypes t, int d, int s, bool notnull) | |
Expr (const SQLTypeInfo &ti, bool has_agg=false) | |
virtual | ~Expr () |
std::shared_ptr< Analyzer::Expr > | get_shared_ptr () |
const SQLTypeInfo & | get_type_info () const |
void | set_type_info (const SQLTypeInfo &ti) |
bool | get_contains_agg () const |
void | set_contains_agg (bool a) |
virtual std::shared_ptr < Analyzer::Expr > | normalize_simple_predicate (int &rte_idx) const |
virtual size_t | get_num_column_vars (const bool include_agg) const |
virtual void | print () const |
virtual void | add_unique (std::list< const Expr * > &expr_list) const |
std::shared_ptr< Analyzer::Expr > | decompress () |
Private Attributes | |
std::list< std::pair < std::shared_ptr < Analyzer::Expr > , std::shared_ptr < Analyzer::Expr > > > | expr_pair_list |
std::shared_ptr< Analyzer::Expr > | else_expr |
Additional Inherited Members | |
Protected Attributes inherited from Analyzer::Expr | |
SQLTypeInfo | type_info |
bool | contains_agg |
Definition at line 1374 of file Analyzer.h.
|
inline |
Definition at line 1376 of file Analyzer.h.
|
overridevirtual |
Reimplemented from Analyzer::Expr.
Definition at line 1460 of file Analyzer.cpp.
References shared::StringDictKey::dict_id, else_expr, expr_pair_list, SQLTypeInfo::get_comp_param(), SQLTypeInfo::get_compression(), SQLTypeInfo::getStringDictKey(), SQLTypeInfo::is_string(), shared::StringDictKey::isTransientDict(), kENCODING_DICT, kENCODING_NONE, SQLTypeInfo::set_comp_param(), SQLTypeInfo::setStringDictKey(), TRANSIENT_DICT, TRANSIENT_DICT_ID, and Analyzer::Expr::type_info.
|
overridevirtual |
Reimplemented from Analyzer::Expr.
Definition at line 3592 of file Analyzer.cpp.
References else_expr, and expr_pair_list.
|
overridevirtual |
Reimplemented from Analyzer::Expr.
Definition at line 3528 of file Analyzer.cpp.
References else_expr, and expr_pair_list.
|
overridevirtual |
Reimplemented from Analyzer::Expr.
Definition at line 3480 of file Analyzer.cpp.
References else_expr, and expr_pair_list.
|
overridevirtual |
Implements Analyzer::Expr.
Definition at line 199 of file Analyzer.cpp.
References Analyzer::Expr::contains_agg, else_expr, expr_pair_list, and Analyzer::Expr::type_info.
|
overridevirtual |
Reimplemented from Analyzer::Expr.
Definition at line 3416 of file Analyzer.cpp.
References Analyzer::Expr::add_unique(), else_expr, expr_pair_list, and f().
|
overridevirtual |
Reimplemented from Analyzer::Expr.
Definition at line 3625 of file Analyzer.cpp.
References Analyzer::Expr::add_unique(), else_expr, expr_pair_list, and kCAST.
|
inline |
Definition at line 1387 of file Analyzer.h.
References else_expr.
Referenced by CodeGenerator::codegen(), getExpressionRange(), anonymous_namespace{WindowExpressionRewrite.cpp}::matches_else_null(), operator==(), ScalarExprToSql::visitCaseExpr(), DeepCopyVisitor::visitCaseExpr(), and ScalarExprVisitor< std::set< shared::TableKey > >::visitCaseExpr().
|
inline |
Definition at line 1384 of file Analyzer.h.
References expr_pair_list.
Referenced by CodeGenerator::codegenCase(), getExpressionRange(), operator==(), rewrite_sum_window(), ScalarExprToSql::visitCaseExpr(), DeepCopyVisitor::visitCaseExpr(), and ScalarExprVisitor< std::set< shared::TableKey > >::visitCaseExpr().
|
overridevirtual |
Reimplemented from Analyzer::Expr.
Definition at line 1885 of file Analyzer.cpp.
References else_expr, and expr_pair_list.
|
overridevirtual |
Implements Analyzer::Expr.
Definition at line 2577 of file Analyzer.cpp.
References else_expr, expr_pair_list, get_else_expr(), and get_expr_pair_list().
|
overridevirtual |
Reimplemented from Analyzer::Expr.
Definition at line 2220 of file Analyzer.cpp.
References Analyzer::Expr::contains_agg, else_expr, expr_pair_list, and Analyzer::Expr::type_info.
|
overridevirtual |
Reimplemented from Analyzer::Expr.
Definition at line 2177 of file Analyzer.cpp.
References Analyzer::Expr::contains_agg, else_expr, expr_pair_list, and Analyzer::Expr::type_info.
|
overridevirtual |
Reimplemented from Analyzer::Expr.
Definition at line 2134 of file Analyzer.cpp.
References Analyzer::Expr::contains_agg, else_expr, expr_pair_list, and Analyzer::Expr::type_info.
|
overridevirtual |
Implements Analyzer::Expr.
Definition at line 3070 of file Analyzer.cpp.
References else_expr, and expr_pair_list.
|
private |
Definition at line 1417 of file Analyzer.h.
Referenced by add_cast(), check_group_by(), collect_column_var(), collect_rte_idx(), deep_copy(), find_expr(), get_domain(), get_else_expr(), group_predicates(), operator==(), rewrite_agg_to_var(), rewrite_with_child_targetlist(), rewrite_with_targetlist(), and toString().
|
private |
Definition at line 1414 of file Analyzer.h.
Referenced by add_cast(), check_group_by(), collect_column_var(), collect_rte_idx(), deep_copy(), find_expr(), get_domain(), get_expr_pair_list(), group_predicates(), operator==(), rewrite_agg_to_var(), rewrite_with_child_targetlist(), rewrite_with_targetlist(), and toString().