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¶
-