1 #ifndef PLAN_CARTESIANPRODUCT_H
2 #define PLAN_CARTESIANPRODUCT_H
9 class CartesianProductState;
17 static std::unique_ptr<CartesianProduct>
18 Create(std::unique_ptr<PlanNode>&& left,
19 std::unique_ptr<PlanNode>&& right);
31 std::unique_ptr<PlanNode>&& right);
CartesianProductState is the execution state for cartesian product.
Definition: CartesianProductState.h:16
CartesianProduct is the physical plan for Cartesian products.
Definition: CartesianProduct.h:15
void node_properties_to_string(std::string &buf, int indent) const override
Definition: CartesianProduct.cpp: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: CartesianProduct.cpp:37
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: CartesianProduct.cpp:31
~CartesianProduct() override
Definition: CartesianProduct.cpp:21
static std::unique_ptr< CartesianProduct > Create(std::unique_ptr< PlanNode > &&left, std::unique_ptr< PlanNode > &&right)
Definition: CartesianProduct.cpp:14
CartesianProduct(std::unique_ptr< PlanNode > &&left, std::unique_ptr< PlanNode > &&right)
Definition: CartesianProduct.cpp:6
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