Class Parser::RegexpExpr

class RegexpExpr : public Parser::Expr

Public Functions

RegexpExpr(bool n, Expr *a, Expr *p, Expr *e)
bool get_is_not() const
const Expr *get_arg() const
const Expr *get_pattern_string() const
const Expr *get_escape_string() const
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> get(std::shared_ptr<Analyzer::Expr> arg_expr, std::shared_ptr<Analyzer::Expr> pattern_expr, std::shared_ptr<Analyzer::Expr> escape_expr, const bool is_not)

Private Members

bool is_not_
std::unique_ptr<Expr> arg_
std::unique_ptr<Expr> pattern_string_
std::unique_ptr<Expr> escape_string_

Private Static Functions

void check_pattern_expr(const std::string &pattern_str, char escape_char)
bool translate_to_like_pattern(std::string &pattern_str, char escape_char)