Class DeepCopyVisitor

class DeepCopyVisitor : public ScalarExprVisitor<std::shared_ptr<Analyzer::Expr>>

Subclassed by anonymous_namespace{ExpressionRewrite.cpp}::ArrayElementStringLiteralEncodingVisitor, anonymous_namespace{ExpressionRewrite.cpp}::ConstantFoldingVisitor, anonymous_namespace{ExpressionRewrite.cpp}::RecursiveOrToInVisitor, anonymous_namespace{JoinFilterPushDown.cpp}::BindFilterToOutermostVisitor

Protected Types

using RetType = std::shared_ptr<Analyzer::Expr>

Protected Functions

RetType visitColumnVar(const Analyzer::ColumnVar *col_var) const
RetType visitColumnVarTuple(const Analyzer::ExpressionTuple *col_var_tuple) const
RetType visitVar(const Analyzer::Var *var) const
RetType visitConstant(const Analyzer::Constant *constant) const
RetType visitUOper(const Analyzer::UOper *uoper) const
RetType visitBinOper(const Analyzer::BinOper *bin_oper) const
RetType visitGeoExpr(const Analyzer::GeoExpr *geo_expr) const
RetType visitInValues(const Analyzer::InValues *in_values) const
RetType visitInIntegerSet(const Analyzer::InIntegerSet *in_integer_set) const
RetType visitCharLength(const Analyzer::CharLengthExpr *char_length) const
RetType visitKeyForString(const Analyzer::KeyForStringExpr *expr) const
RetType visitSampleRatio(const Analyzer::SampleRatioExpr *expr) const
RetType visitLower(const Analyzer::LowerExpr *expr) const
RetType visitCardinality(const Analyzer::CardinalityExpr *cardinality) const
RetType visitLikeExpr(const Analyzer::LikeExpr *like) const
RetType visitRegexpExpr(const Analyzer::RegexpExpr *regexp) const
RetType visitWidthBucket(const Analyzer::WidthBucketExpr *width_bucket_expr) const
RetType visitCaseExpr(const Analyzer::CaseExpr *case_expr) const
RetType visitDatetruncExpr(const Analyzer::DatetruncExpr *datetrunc) const
RetType visitExtractExpr(const Analyzer::ExtractExpr *extract) const
RetType visitArrayOper(const Analyzer::ArrayExpr *array_expr) const
RetType visitGeoUOper(const Analyzer::GeoUOper *geo_expr) const
RetType visitGeoBinOper(const Analyzer::GeoBinOper *geo_expr) const
RetType visitWindowFunction(const Analyzer::WindowFunction *window_func) const
RetType visitFunctionOper(const Analyzer::FunctionOper *func_oper) const
RetType visitDatediffExpr(const Analyzer::DatediffExpr *datediff) const
RetType visitDateaddExpr(const Analyzer::DateaddExpr *dateadd) const
RetType visitFunctionOperWithCustomTypeHandling(const Analyzer::FunctionOperWithCustomTypeHandling *func_oper) const
RetType visitLikelihood(const Analyzer::LikelihoodExpr *likelihood) const
RetType visitAggExpr(const Analyzer::AggExpr *agg) const
RetType visitOffsetInFragment(const Analyzer::OffsetInFragment *) const