Go to the documentation of this file. 1 #ifndef PLAN_PROJECTION_H
2 #define PLAN_PROJECTION_H
12 class ProjectionState;
22 static std::unique_ptr<Projection>
23 Create(std::unique_ptr<PlanNode>&& child,
24 std::vector<std::unique_ptr<ExprNode>>&& exprs);
35 std::vector<std::unique_ptr<ExprNode>>&& exprs);
37 std::vector<std::unique_ptr<ExprNode>>
m_exprs;
Projection(std::unique_ptr< PlanNode > &&child, std::vector< std::unique_ptr< ExprNode >> &&exprs)
Definition: Projection.cpp:6
std::vector< std::unique_ptr< ExprNode > > m_exprs
Definition: Projection.h:37
static std::unique_ptr< Projection > Create(std::unique_ptr< PlanNode > &&child, std::vector< std::unique_ptr< ExprNode >> &&exprs)
Definition: Projection.cpp:23
ProjectionState is the execution state for projections.
Definition: ProjectionState.h:18
~Projection() override
Definition: Projection.cpp:29
Projection is the physical plan for projections.
Definition: Projection.h:20
std::unique_ptr< Schema > m_schema
Definition: Projection.h:38
A Schema object stores the information for accessing an ordered set of typed fields either from a dis...
Definition: Schema.h:39
void node_properties_to_string(std::string &buf, int indent) const override
Definition: Projection.cpp:33
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: Projection.cpp:37
PlanNode is an abstract interface representing physical query plan that does not bound with any parti...
Definition: PlanNode.h:26
const Schema * get_output_schema() const override
Each physical plan should link a schema for its output relation, incidating what fields are included ...
Definition: Projection.cpp:43