net.sf.farrago.defimpl
Class FarragoDefaultPlanner
java.lang.Object
org.eigenbase.relopt.AbstractRelOptPlanner
org.eigenbase.relopt.volcano.VolcanoPlanner
net.sf.farrago.defimpl.FarragoDefaultPlanner
- All Implemented Interfaces:
- FarragoSessionPlanner, RelOptPlanner
- Direct Known Subclasses:
- FarragoMiniplanPersonalityFactory.FarragoVolcanoMiniplanner
public class FarragoDefaultPlanner
- extends VolcanoPlanner
- implements FarragoSessionPlanner
FarragoDefaultPlanner extends VolcanoPlanner to request
Farrago-specific optimizations.
- Version:
- $Id: //open/dev/farrago/src/net/sf/farrago/defimpl/FarragoDefaultPlanner.java#42 $
- Author:
- John V. Sichi
| Methods inherited from class org.eigenbase.relopt.volcano.VolcanoPlanner |
addListener, addRelTraitDef, addRule, canConvert, changeTraits, chooseDelegate, dump, ensureRegistered, findBestExp, getConversionOperands, getCost, getPhaseRuleMappingInitializer, getRelMetadataTimestamp, getRoot, getSet, getSubset, getSubset, getSubset, isRegistered, makeCost, makeHugeCost, makeInfiniteCost, makeTinyCost, makeZeroCost, normalizePlan, register, registerAbstractRelationalRules, registerMetadataProviders, registerSchema, removeRule, setImportance, setRoot, validate |
| Methods inherited from class org.eigenbase.relopt.AbstractRelOptPlanner |
checkCancel, fireRule, getListener, getRuleByDescription, isRuleExcluded, mapRuleDescription, notifyChosen, notifyDiscard, notifyEquivalence, notifyTransformation, setCancelFlag, setRuleDescExclusionFilter, unmapRuleDescription |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.eigenbase.relopt.RelOptPlanner |
addListener, addRelTraitDef, addRule, changeTraits, chooseDelegate, ensureRegistered, findBestExp, getCost, getRelMetadataTimestamp, getRoot, isRegistered, makeCost, makeHugeCost, makeInfiniteCost, makeTinyCost, makeZeroCost, register, registerMetadataProviders, registerSchema, removeRule, setCancelFlag, setImportance, setRoot, setRuleDescExclusionFilter |
stmt
private FarragoPreparingStmt stmt
FarragoDefaultPlanner
public FarragoDefaultPlanner(FarragoSessionPreparingStmt stmt)
- Creates a new FarragoDefaultPlanner object.
- Parameters:
stmt - statement on whose behalf this planner operates
init
public void init()
- Initializes Farrago-specific rules for this planner.
addStandardRules
public static void addStandardRules(FarragoSessionPlanner planner,
boolean fennelEnabled,
CalcVirtualMachine calcVM)
- Adds a set of standard rules to a planner.
- Parameters:
planner - PlannerfennelEnabled - Whether fennel is enabled.calcVM - Flavor of calculator being used.
addFennelCalcRules
public static void addFennelCalcRules(FarragoSessionPlanner planner,
boolean auto)
getPreparingStmt
public FarragoSessionPreparingStmt getPreparingStmt()
- Specified by:
getPreparingStmt in interface FarragoSessionPlanner
- Returns:
- the FarragoSessionPreparingStmt associated with this planner.
beginMedPluginRegistration
public void beginMedPluginRegistration(String serverClassName)
- Description copied from interface:
FarragoSessionPlanner
- Notifies this planner that registration for a particular SQL/MED plugin
is about to start, meaning the plugin might call the planner via methods
such as
RelOptPlanner.addRule(org.eigenbase.relopt.RelOptRule).
- Specified by:
beginMedPluginRegistration in interface FarragoSessionPlanner
- Parameters:
serverClassName - name of class implementing FarragoMedDataServer
endMedPluginRegistration
public void endMedPluginRegistration()
- Description copied from interface:
FarragoSessionPlanner
- Notifies this planner that registration has ended for the SQL/MED plugin
whose identity was last passed to beginMedPluginRegistration.
- Specified by:
endMedPluginRegistration in interface FarragoSessionPlanner
getJavaRelImplementor
public JavaRelImplementor getJavaRelImplementor(RelNode rel)
- Description copied from interface:
RelOptPlanner
- Retrieves an implementor appropriate for the context in which this
planner was created.
- Specified by:
getJavaRelImplementor in interface RelOptPlanner- Overrides:
getJavaRelImplementor in class VolcanoPlanner