Class Analyzer::CaseExpr

class CaseExpr : public Analyzer::Expr

Public 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
void check_group_by(const std::list<std::shared_ptr<Analyzer::Expr>> &groupby) const
void group_predicates(std::list<const Expr *> &scan_predicates, std::list<const Expr *> &join_predicates, std::list<const Expr *> &const_predicates) const
void collect_rte_idx(std::set<int> &rte_idx_set) const
void collect_column_var(std::set<const ColumnVar *, bool(*colvar_set)( const ColumnVar *, const ColumnVar *)>&, bool include_agg) const
std::shared_ptr<Analyzer::Expr> rewrite_with_targetlist(const std::vector<std::shared_ptr<TargetEntry>> &tlist) const
std::shared_ptr<Analyzer::Expr> rewrite_with_child_targetlist(const std::vector<std::shared_ptr<TargetEntry>> &tlist) const
std::shared_ptr<Analyzer::Expr> rewrite_agg_to_var(const std::vector<std::shared_ptr<TargetEntry>> &tlist) const
bool operator==(const Expr &rhs) const
std::string toString() const
void find_expr(bool (*f)(const Expr *), std::list<const Expr *> &expr_list, ) const
std::shared_ptr<Analyzer::Expr> add_cast(const SQLTypeInfo &new_type_info)
void get_domain(DomainSet &domain_set) const

Private Members

std::list<std::pair<std::shared_ptr<Analyzer::Expr>, std::shared_ptr<Analyzer::Expr>>> expr_pair_list
std::shared_ptr<Analyzer::Expr> else_expr