Class ScalarExprVisitor

template<class T>
class ScalarExprVisitor

Public Functions

T visit(const Analyzer::Expr *expr) const

Protected Functions

virtual T visitVar(const Analyzer::Var *) const
virtual T visitColumnVar(const Analyzer::ColumnVar *) const
virtual T visitColumnVarTuple(const Analyzer::ExpressionTuple *) const
virtual T visitConstant(const Analyzer::Constant *) const
virtual T visitUOper(const Analyzer::UOper *uoper) const
virtual T visitBinOper(const Analyzer::BinOper *bin_oper) const
virtual T visitGeoExpr(const Analyzer::GeoExpr *geo_expr) const
virtual T visitInValues(const Analyzer::InValues *in_values) const
virtual T visitInIntegerSet(const Analyzer::InIntegerSet *in_integer_set) const
virtual T visitCharLength(const Analyzer::CharLengthExpr *char_length) const
virtual T visitKeyForString(const Analyzer::KeyForStringExpr *key_for_string) const
virtual T visitSampleRatio(const Analyzer::SampleRatioExpr *sample_ratio) const
virtual T visitLower(const Analyzer::LowerExpr *lower_expr) const
virtual T visitCardinality(const Analyzer::CardinalityExpr *cardinality) const
virtual T visitLikeExpr(const Analyzer::LikeExpr *like) const
virtual T visitRegexpExpr(const Analyzer::RegexpExpr *regexp) const
virtual T visitWidthBucket(const Analyzer::WidthBucketExpr *width_bucket_expr) const
virtual T visitCaseExpr(const Analyzer::CaseExpr *case_) const
virtual T visitDatetruncExpr(const Analyzer::DatetruncExpr *datetrunc) const
virtual T visitExtractExpr(const Analyzer::ExtractExpr *extract) const
virtual T visitFunctionOperWithCustomTypeHandling(const Analyzer::FunctionOperWithCustomTypeHandling *func_oper) const
virtual T visitArrayOper(Analyzer::ArrayExpr const *array_expr) const
virtual T visitGeoUOper(const Analyzer::GeoUOper *geo_expr) const
virtual T visitGeoBinOper(const Analyzer::GeoBinOper *geo_expr) const
virtual T visitFunctionOper(const Analyzer::FunctionOper *func_oper) const
virtual T visitWindowFunction(const Analyzer::WindowFunction *window_func) const
virtual T visitDatediffExpr(const Analyzer::DatediffExpr *datediff) const
virtual T visitDateaddExpr(const Analyzer::DateaddExpr *dateadd) const
virtual T visitLikelihood(const Analyzer::LikelihoodExpr *likelihood) const
virtual T visitOffsetInFragment(const Analyzer::OffsetInFragment *) const
virtual T visitAggExpr(const Analyzer::AggExpr *agg) const
virtual T visitRangeJoinOper(const Analyzer::RangeOper *range_oper) const
virtual T aggregateResult(const T &aggregate, const T &next_result) const
virtual T defaultResult() const