Collects placeholders marked as planLater by strategy and its LogicalPlans
Collects placeholders marked as planLater by strategy and its LogicalPlans
Prunes bad plans to prevent combinatorial explosion.
Prunes bad plans to prevent combinatorial explosion.
A list of execution strategies that can be used by the planner
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