taco-db  0.1.0
Selection.h
Go to the documentation of this file.
1 #ifndef PLAN_SELECTION_H
2 #define PLAN_SELECTION_H
3 
4 #include "tdb.h"
6 
7 #include "plan/PlanNode.h"
8 #include "expr/ExprNode.h"
9 
10 namespace taco {
11 
12 class SelectionState;
13 
20 class Selection: public PlanNode {
21 public:
22  static std::unique_ptr<Selection>
23  Create(std::unique_ptr<PlanNode>&& child,
24  std::unique_ptr<ExprNode>&& cond);
25 
26  ~Selection() override;
27 
28  void node_properties_to_string(std::string& buf, int indent) const override;
29 
30  std::unique_ptr<PlanExecState> create_exec_state() const override;
31 
32  const Schema* get_output_schema() const override;
33 
34 private:
35  Selection(std::unique_ptr<PlanNode>&& child, std::unique_ptr<ExprNode>&& cond);
36 
37  // You can add your own states here.
38 
39  friend class SelectionState;
40 };
41 
42 } // namespace taco
43 
44 #endif
This file is automatically generated, DO NOT modify.
PlanNode is an abstract interface representing physical query plan that does not bound with any parti...
Definition: PlanNode.h:26
A Schema object stores the information for accessing an ordered set of typed fields either from a dis...
Definition: Schema.h:39
SelectionState is the execution state for selections.
Definition: SelectionState.h:18
Selection is the physical plan for selecitons.
Definition: Selection.h:20
~Selection() override
Definition: Selection.cpp:20
Selection(std::unique_ptr< PlanNode > &&child, std::unique_ptr< ExprNode > &&cond)
Definition: Selection.cpp:9
const Schema * get_output_schema() const override
Each physical plan should link a schema for its output relation, incidating what fields are included ...
Definition: Selection.cpp:36
static std::unique_ptr< Selection > Create(std::unique_ptr< PlanNode > &&child, std::unique_ptr< ExprNode > &&cond)
Definition: Selection.cpp:16
void node_properties_to_string(std::string &buf, int indent) const override
Definition: Selection.cpp:25
std::unique_ptr< PlanExecState > create_exec_state() const override
Create the corresponding execution state for the physical plan so that it can be used as physical sca...
Definition: Selection.cpp:30
Definition: datum.h:28