OmniSciDB  c07336695a
Planner::AggPlan Class Reference

#include <Planner.h>

+ Inheritance diagram for Planner::AggPlan:
+ Collaboration diagram for Planner::AggPlan:

Public Member Functions

 AggPlan (const std::vector< std::shared_ptr< Analyzer::TargetEntry >> &t, double c, Plan *p, const std::list< std::shared_ptr< Analyzer::Expr >> &gl)
 
const std::list< std::shared_ptr< Analyzer::Expr > > & get_groupby_list () const
 
void set_groupby_list (const std::list< std::shared_ptr< Analyzer::Expr >> &new_groupby_list)
 
void print () const override
 
- Public Member Functions inherited from Planner::Plan
 Plan (const std::vector< std::shared_ptr< Analyzer::TargetEntry >> &t, const std::list< std::shared_ptr< Analyzer::Expr >> &q, double c, Plan *p)
 
 Plan (const std::vector< std::shared_ptr< Analyzer::TargetEntry >> &t, double c, Plan *p)
 
 Plan ()
 
 Plan (const std::vector< std::shared_ptr< Analyzer::TargetEntry >> &t)
 
virtual ~Plan ()
 
const std::vector< std::shared_ptr< Analyzer::TargetEntry > > & get_targetlist () const
 
const std::list< std::shared_ptr< Analyzer::Expr > > & get_quals () const
 
double get_cost () const
 
const Planget_child_plan () const
 
void add_tle (std::shared_ptr< Analyzer::TargetEntry > tle)
 
void set_targetlist (const std::vector< std::shared_ptr< Analyzer::TargetEntry >> &t)
 

Private Attributes

std::list< std::shared_ptr< Analyzer::Expr > > groupby_list
 

Additional Inherited Members

- Protected Attributes inherited from Planner::Plan
std::vector< std::shared_ptr< Analyzer::TargetEntry > > targetlist
 
std::list< std::shared_ptr< Analyzer::Expr > > quals
 
double cost
 
std::unique_ptr< Planchild_plan
 

Detailed Description

Definition at line 172 of file Planner.h.

Constructor & Destructor Documentation

◆ AggPlan()

Planner::AggPlan::AggPlan ( const std::vector< std::shared_ptr< Analyzer::TargetEntry >> &  t,
double  c,
Plan p,
const std::list< std::shared_ptr< Analyzer::Expr >> &  gl 
)
inline

Definition at line 174 of file Planner.h.

178  : Plan(t, c, p), groupby_list(gl) {}
void c(const std::string &query_string, const ExecutorDeviceType device_type)
std::list< std::shared_ptr< Analyzer::Expr > > groupby_list
Definition: Planner.h:190

Member Function Documentation

◆ get_groupby_list()

const std::list<std::shared_ptr<Analyzer::Expr> >& Planner::AggPlan::get_groupby_list ( ) const
inline

Definition at line 179 of file Planner.h.

179  {
180  return groupby_list;
181  }
std::list< std::shared_ptr< Analyzer::Expr > > groupby_list
Definition: Planner.h:190

◆ print()

void Planner::AggPlan::print ( ) const
overridevirtual

Reimplemented from Planner::Plan.

Definition at line 412 of file Planner.cpp.

References Planner::Plan::child_plan, and Planner::Plan::print().

412  {
413  std::cout << "(Agg" << std::endl;
414  Plan::print();
415  child_plan->print();
416  std::cout << "Group By: ";
417  for (auto e : groupby_list) {
418  e->print();
419  }
420  std::cout << ")" << std::endl;
421 }
std::unique_ptr< Plan > child_plan
Definition: Planner.h:70
virtual void print() const
Definition: Planner.cpp:356
std::list< std::shared_ptr< Analyzer::Expr > > groupby_list
Definition: Planner.h:190
+ Here is the call graph for this function:

◆ set_groupby_list()

void Planner::AggPlan::set_groupby_list ( const std::list< std::shared_ptr< Analyzer::Expr >> &  new_groupby_list)
inline

Definition at line 182 of file Planner.h.

References Planner::Plan::print().

183  {
184  groupby_list = new_groupby_list;
185  }
std::list< std::shared_ptr< Analyzer::Expr > > groupby_list
Definition: Planner.h:190
+ Here is the call graph for this function:

Member Data Documentation

◆ groupby_list

std::list<std::shared_ptr<Analyzer::Expr> > Planner::AggPlan::groupby_list
private

Definition at line 190 of file Planner.h.


The documentation for this class was generated from the following files: