Class Analyzer::Expr¶
-
class
Expr: public std::enable_shared_from_this<Expr>¶ Subclassed by Analyzer::AggExpr, Analyzer::ArrayExpr, Analyzer::BinOper, Analyzer::CardinalityExpr, Analyzer::CaseExpr, Analyzer::CharLengthExpr, Analyzer::ColumnVar, Analyzer::Constant, Analyzer::DateaddExpr, Analyzer::DatediffExpr, Analyzer::DatetruncExpr, Analyzer::Estimator, Analyzer::ExpressionTuple, Analyzer::ExtractExpr, Analyzer::FunctionOper, Analyzer::GeoBinOper, Analyzer::GeoExpr, Analyzer::GeoUOper, Analyzer::InIntegerSet, Analyzer::InValues, Analyzer::KeyForStringExpr, Analyzer::LikeExpr, Analyzer::LikelihoodExpr, Analyzer::LowerExpr, Analyzer::OffsetInFragment, Analyzer::RangeOper, Analyzer::RegexpExpr, Analyzer::SampleRatioExpr, Analyzer::Subquery, Analyzer::UOper, Analyzer::WidthBucketExpr, Analyzer::WindowFunction
Public Functions
-
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()¶
-
const SQLTypeInfo &
get_type_info() const¶
-
void
set_type_info(const SQLTypeInfo &ti)¶
-
bool
get_contains_agg() const¶
-
void
set_contains_agg(bool a)¶
-
std::shared_ptr<Analyzer::Expr>
add_cast(const SQLTypeInfo &new_type_info)¶
-
virtual void
group_predicates(std::list<const Expr *> &scan_predicates, std::list<const Expr *> &join_predicates, std::list<const Expr *> &const_predicates) const¶
-
virtual void
collect_rte_idx(std::set<int> &rte_idx_set) const¶
-
virtual void
collect_column_var(std::set<const ColumnVar *, bool(*colvar_set)( const ColumnVar *, const ColumnVar *)>&, bool include_agg) const¶
-
virtual std::string
toString() const = 0¶
-
virtual void
print() const¶
-
virtual void
get_domain(DomainSet &domain_set) const¶
-