Abstract class for transforming LogicalPlans into physical plans.
Child classes are responsible for specifying a list of GenericStrategy objects that
each of which can return a list of possible physical plan options.
If a given strategy is unable to plan all
of the remaining operators in the tree, it can call planLater, which returns a placeholder
object that will be filled in using other available strategies.
TODO: RIGHT NOW ONLY ONE PLAN IS RETURNED EVER...
PLAN SPACE EXPLORATION WILL BE IMPLEMENTED LATER.
PhysicalPlan
The type of physical plan produced by this QueryPlanner
Abstract class for transforming LogicalPlans into physical plans. Child classes are responsible for specifying a list of GenericStrategy objects that each of which can return a list of possible physical plan options. If a given strategy is unable to plan all of the remaining operators in the tree, it can call planLater, which returns a placeholder object that will be filled in using other available strategies.
TODO: RIGHT NOW ONLY ONE PLAN IS RETURNED EVER... PLAN SPACE EXPLORATION WILL BE IMPLEMENTED LATER.
The type of physical plan produced by this QueryPlanner