Class RuleBasedPhysicalOptimizerImpl
java.lang.Object
se.liu.ida.hefquin.engine.queryproc.impl.poptimizer.PhysicalOptimizerBase
se.liu.ida.hefquin.engine.queryproc.impl.poptimizer.RuleBasedPhysicalOptimizerImpl
- All Implemented Interfaces:
PhysicalOptimizer
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionRuleBasedPhysicalOptimizerImpl(List<RewritingRuleForPhysicalOptimization> rewritingRules) -
Method Summary
Modifier and TypeMethodDescriptionbooleanprotected booleanReturn true if this optimizer expects that multiway joins are carried over from the given logical plan into the initial physical plan.protected Pair<PhysicalPlan, PhysicalOptimizationStats> optimize(PhysicalPlan initialPhysicalPlan, QueryProcContextExt ctx) Methods inherited from class se.liu.ida.hefquin.engine.queryproc.impl.poptimizer.PhysicalOptimizerBase
optimize
-
Field Details
-
rewritingRules
-
-
Constructor Details
-
RuleBasedPhysicalOptimizerImpl
-
-
Method Details
-
optimize
protected Pair<PhysicalPlan,PhysicalOptimizationStats> optimize(PhysicalPlan initialPhysicalPlan, QueryProcContextExt ctx) throws PhysicalOptimizationException - Specified by:
optimizein classPhysicalOptimizerBase- Throws:
PhysicalOptimizationException
-
assumesLogicalMultiwayJoins
public boolean assumesLogicalMultiwayJoins() -
keepMultiwayJoinsInInitialPhysicalPlan
protected boolean keepMultiwayJoinsInInitialPhysicalPlan()Description copied from class:PhysicalOptimizerBaseReturn true if this optimizer expects that multiway joins are carried over from the given logical plan into the initial physical plan. Thefunction passes this flag as the second argument of theinvalid reference
#optimize(LogicalPlan)function.invalid reference
LogicalToPhysicalPlanConverter#convert(LogicalPlan, boolean)- Specified by:
keepMultiwayJoinsInInitialPhysicalPlanin classPhysicalOptimizerBase
-