# Functions
NewLogicalPlan creates a plan from the DAG structure.
NewPhysicalPlan is used to generate a physical plan.
# Structs
LogicalPlan converts a DAG into a list of steps to be executed in order.
LogicalStep is a single step in a logical plan.
PhysicalPlan represents the physical plan.
ResultOp is responsible for delivering results to the clients.