OmniSciDB  b24e664e58
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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

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) {}
std::list< std::shared_ptr< Analyzer::Expr > > groupby_list
Definition: Planner.h:190

Member Function Documentation

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

Definition at line 179 of file Planner.h.

References groupby_list.

179  {
180  return groupby_list;
181  }
std::list< std::shared_ptr< Analyzer::Expr > > groupby_list
Definition: Planner.h:190
void Planner::AggPlan::print ( ) const
overridevirtual

Reimplemented from Planner::Plan.

Definition at line 412 of file Planner.cpp.

References Planner::Plan::child_plan, groupby_list, 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
std::list< std::shared_ptr< Analyzer::Expr > > groupby_list
Definition: Planner.h:190
virtual void print() const
Definition: Planner.cpp:356

+ Here is the call graph for this function:

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 groupby_list.

183  {
184  groupby_list = new_groupby_list;
185  }
std::list< std::shared_ptr< Analyzer::Expr > > groupby_list
Definition: Planner.h:190

Member Data Documentation

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

Definition at line 190 of file Planner.h.

Referenced by get_groupby_list(), print(), and set_groupby_list().


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