17 #include "../Analyzer/Analyzer.h" 18 #include "../Fragmenter/Fragmenter.h" 19 #include "../QueryEngine/Execute.h" 23 QueryRewriter(
const std::vector<InputTableInfo>& query_infos, Executor* executor)
29 std::shared_ptr<Analyzer::Expr> column_to_update)
const;
33 std::shared_ptr<Analyzer::ColumnVar> delete_column)
const;
44 const std::shared_ptr<Analyzer::CaseExpr>,
RelAlgExecutionUnit rewriteConstrainedByIn(const RelAlgExecutionUnit &ra_exe_unit_in) const
RelAlgExecutionUnit rewriteColumnarUpdate(const RelAlgExecutionUnit &ra_exe_unit_in, std::shared_ptr< Analyzer::Expr > column_to_update) const
RelAlgExecutionUnit rewriteConstrainedByInImpl(const RelAlgExecutionUnit &ra_exe_unit_in, const std::shared_ptr< Analyzer::CaseExpr >, const Analyzer::InValues *) const
RelAlgExecutionUnit rewrite(const RelAlgExecutionUnit &ra_exe_unit_in) const
RelAlgExecutionUnit rewriteOverlapsJoin(const RelAlgExecutionUnit &ra_exe_unit_in) const
RelAlgExecutionUnit rewriteColumnarDelete(const RelAlgExecutionUnit &ra_exe_unit_in, std::shared_ptr< Analyzer::ColumnVar > delete_column) const
const std::vector< InputTableInfo > & query_infos_
QueryRewriter(const std::vector< InputTableInfo > &query_infos, Executor *executor)
static std::shared_ptr< Analyzer::CaseExpr > generateCaseForDomainValues(const Analyzer::InValues *)
std::vector< std::shared_ptr< Analyzer::Expr > > target_exprs_owned_