Class ScalarExprToSql

class ScalarExprToSql : public ScalarExprVisitor<std::string>

Public Functions

ScalarExprToSql(const RelAlgExecutionUnit *ra_exe_unit, const Catalog_Namespace::Catalog *catalog)
std::string visitVar(const Analyzer::Var *var) const
std::string visitColumnVar(const Analyzer::ColumnVar *col_var) const
std::string visitConstant(const Analyzer::Constant *constant) const
std::string visitUOper(const Analyzer::UOper *uoper) const
std::string visitBinOper(const Analyzer::BinOper *bin_oper) const
std::string visitInValues(const Analyzer::InValues *in_values) const
std::string visitLikeExpr(const Analyzer::LikeExpr *like) const
std::string visitCaseExpr(const Analyzer::CaseExpr *case_) const
std::string visitFunctionOper(const Analyzer::FunctionOper *func_oper) const
std::string visitWindowFunction(const Analyzer::WindowFunction *window_func) const
std::string visitAggExpr(const Analyzer::AggExpr *agg) const
template<typename List>
std::vector<std::string> visitList(const List &expressions) const

Protected Functions

std::string aggregateResult(const std::string &aggregate, const std::string &next_result) const
std::string defaultResult() const

Private Members

const RelAlgExecutionUnit *ra_exe_unit_
const Catalog_Namespace::Catalog *catalog_

Private Static Functions

std::string binOpTypeToString(const SQLOps op_type)