Class RelCompound

class RelCompound : public RelAlgNode, public ModifyManipulationTarget

Public Functions

RelCompound(std::unique_ptr<const RexScalar> &filter_expr, const std::vector<const Rex *> &target_exprs, const size_t groupby_count, const std::vector<const RexAgg *> &agg_exprs, const std::vector<std::string> &fields, std::vector<std::unique_ptr<const RexScalar>> &scalar_sources, const bool is_agg, bool update_disguised_as_select = false, bool delete_disguised_as_select = false, bool varlen_update_required = false, TableDescriptor const *manipulation_target_table = nullptr, ColumnNameList target_columns = ColumnNameList())
RelCompound(RelCompound const &rhs)
void replaceInput(std::shared_ptr<const RelAlgNode> old_input, std::shared_ptr<const RelAlgNode> input)
size_t size() const
const RexScalar *getFilterExpr() const
void setFilterExpr(std::unique_ptr<const RexScalar> &new_expr)
const Rex *getTargetExpr(const size_t i) const
const std::vector<std::string> &getFields() const
const std::string getFieldName(const size_t i) const
void setFields(std::vector<std::string> &&fields)
const size_t getScalarSourcesSize() const
const RexScalar *getScalarSource(const size_t i) const
void setScalarSources(std::vector<std::unique_ptr<const RexScalar>> &new_sources)
const size_t getGroupByCount() const
bool isAggregate() const
size_t getAggExprSize() const
const RexAgg *getAggExpr(size_t i) const
std::string toString() const
size_t toHash() const
std::shared_ptr<RelAlgNode> deepCopy() const
void addHint(const ExplainedQueryHint &hint_explained)
const bool hasHintEnabled(QueryHint candidate_hint) const
const ExplainedQueryHint &getHintInfo(QueryHint hint) const
bool hasDeliveredHint()
Hints *getDeliveredHints()

Private Members

std::unique_ptr<const RexScalar> filter_expr_
const size_t groupby_count_
std::vector<std::unique_ptr<const RexAgg>> agg_exprs_
std::vector<std::string> fields_
const bool is_agg_
std::vector<std::unique_ptr<const RexScalar>> scalar_sources_
const std::vector<const Rex *> target_exprs_
bool hint_applied_
std::unique_ptr<Hints> hints_