taco-db  0.1.0
TableScan.h
Go to the documentation of this file.
1 #ifndef PLAN_TABLESCAN_H
2 #define PLAN_TABLESCAN_H
3 
4 #include "tdb.h"
5 
6 #include "catalog/TableDesc.h"
7 #include "plan/PlanNode.h"
8 
9 namespace taco {
10 
18 class TableScan: public PlanNode {
19 public:
20  static std::unique_ptr<TableScan>
21  Create(std::shared_ptr<const TableDesc> tabdesc);
22 
23  ~TableScan() override;
24 
25  void node_properties_to_string(std::string &buf, int indent) const override;
26 
27  std::unique_ptr<PlanExecState> create_exec_state() const override;
28 
29  const Schema* get_output_schema() const override;
30 
31 private:
32  TableScan(std::shared_ptr<const TableDesc> tabdesc);
33 
34 
35  std::shared_ptr<const TableDesc> m_tabdesc;
36 
37  // You can add your own states here.
38 };
39 
40 } // namespace taco
41 
42 #endif
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
TableScan is the physical plan for heap file table scanning.
Definition: TableScan.h:18
std::shared_ptr< const TableDesc > m_tabdesc
Definition: TableScan.h:35
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: TableScan.cpp:31
~TableScan() override
Definition: TableScan.cpp:19
void node_properties_to_string(std::string &buf, int indent) const override
Definition: TableScan.cpp:23
const Schema * get_output_schema() const override
Each physical plan should link a schema for its output relation, incidating what fields are included ...
Definition: TableScan.cpp:38
TableScan(std::shared_ptr< const TableDesc > tabdesc)
Definition: TableScan.cpp:8
static std::unique_ptr< TableScan > Create(std::shared_ptr< const TableDesc > tabdesc)
Definition: TableScan.cpp:14
Definition: datum.h:28