Class Analyzer::BinOper

class BinOper : public Analyzer::Expr

Public Functions

BinOper(const SQLTypeInfo &ti, bool has_agg, SQLOps o, SQLQualifier q, std::shared_ptr<Analyzer::Expr> l, std::shared_ptr<Analyzer::Expr> r)
BinOper(SQLTypes t, SQLOps o, SQLQualifier q, std::shared_ptr<Analyzer::Expr> l, std::shared_ptr<Analyzer::Expr> r)
SQLOps get_optype() const
bool is_overlaps_oper() const
SQLQualifier get_qualifier() const
const Expr *get_left_operand() const
const Expr *get_right_operand() const
const std::shared_ptr<Analyzer::Expr> get_own_left_operand() const
const std::shared_ptr<Analyzer::Expr> get_own_right_operand() const
void check_group_by(const std::list<std::shared_ptr<Analyzer::Expr>> &groupby) const
std::shared_ptr<Analyzer::Expr> deep_copy() const
std::shared_ptr<Analyzer::Expr> normalize_simple_predicate(int &rte_idx) 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

Public Static Functions

SQLTypeInfo analyze_type_info(SQLOps op, const SQLTypeInfo &left_type, const SQLTypeInfo &right_type, SQLTypeInfo *new_left_type, SQLTypeInfo *new_right_type)
SQLTypeInfo common_numeric_type(const SQLTypeInfo &type1, const SQLTypeInfo &type2)
SQLTypeInfo common_string_type(const SQLTypeInfo &type1, const SQLTypeInfo &type2)
bool simple_predicate_has_simple_cast(const std::shared_ptr<Analyzer::Expr> cast_operand, const std::shared_ptr<Analyzer::Expr> const_operand)

Private Members

SQLOps optype
SQLQualifier qualifier
std::shared_ptr<Analyzer::Expr> left_operand
std::shared_ptr<Analyzer::Expr> right_operand