Class Parser::CaseExpr

class CaseExpr : public Parser::Expr

Public Functions

CaseExpr(std::list<ExprPair *> *w, Expr *e)
std::shared_ptr<Analyzer::Expr> analyze(const Catalog_Namespace::Catalog &catalog, Analyzer::Query &query, TlistRefType allow_tlist_ref = TLIST_NONE) const
std::string to_string() const

Public Static Functions

std::shared_ptr<Analyzer::Expr> normalize(const std::list<std::pair<std::shared_ptr<Analyzer::Expr>, std::shared_ptr<Analyzer::Expr>>> &expr_pair_list, const std::shared_ptr<Analyzer::Expr> else_e_in, const Executor *executor = nullptr)

Private Members

std::list<std::unique_ptr<ExprPair>> when_then_list_
std::unique_ptr<Expr> else_expr_