net.sf.farrago.test
Class FarragoTestPlanner

java.lang.Object
  extended by org.eigenbase.relopt.AbstractRelOptPlanner
      extended by org.eigenbase.relopt.hep.HepPlanner
          extended by net.sf.farrago.test.FarragoTestPlanner
All Implemented Interfaces:
FarragoSessionPlanner, RelOptPlanner

public class FarragoTestPlanner
extends HepPlanner
implements FarragoSessionPlanner

FarragoTestPlanner provides an implementation of the FarragoSessionPlanner interface which allows for precise control over the heuristic planner used during testing.

Version:
$Id: //open/dev/farrago/src/net/sf/farrago/test/FarragoTestPlanner.java#6 $
Author:
John V. Sichi

Field Summary
private  FarragoPreparingStmt stmt
           
 
Fields inherited from interface org.eigenbase.relopt.RelOptPlanner
tracer
 
Constructor Summary
FarragoTestPlanner(HepProgram program, FarragoPreparingStmt stmt)
           
 
Method Summary
 void beginMedPluginRegistration(String serverClassName)
          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).
 void endMedPluginRegistration()
          Notifies this planner that registration has ended for the SQL/MED plugin whose identity was last passed to beginMedPluginRegistration.
 JavaRelImplementor getJavaRelImplementor(RelNode rel)
          Retrieves an implementor appropriate for the context in which this planner was created.
 FarragoSessionPreparingStmt getPreparingStmt()
           
 
Methods inherited from class org.eigenbase.relopt.hep.HepPlanner
addRule, changeTraits, ensureRegistered, findBestExp, getRelMetadataTimestamp, getRoot, isRegistered, register, registerMetadataProviders, removeRule, setRoot
 
Methods inherited from class org.eigenbase.relopt.AbstractRelOptPlanner
addListener, addRelTraitDef, checkCancel, chooseDelegate, fireRule, getCost, getListener, getRuleByDescription, isRuleExcluded, makeCost, makeHugeCost, makeInfiniteCost, makeTinyCost, makeZeroCost, mapRuleDescription, notifyChosen, notifyDiscard, notifyEquivalence, notifyTransformation, registerSchema, setCancelFlag, setImportance, 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
 

Field Detail

stmt

private final FarragoPreparingStmt stmt
Constructor Detail

FarragoTestPlanner

public FarragoTestPlanner(HepProgram program,
                          FarragoPreparingStmt stmt)
Method Detail

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 AbstractRelOptPlanner