org.eigenbase.relopt.volcano
Interface VolcanoPlannerPhaseRuleMappingInitializer

All Known Implementing Classes:
ChainedPhaseRuleMappingInitializer

public interface VolcanoPlannerPhaseRuleMappingInitializer

VolcanoPlannerPhaseRuleMappingInitializer describes an inteface for initializing the mapping of VolcanoPlannerPhases to sets of rule descriptions.

Note: Rule descriptions are obtained via RelOptRule.toString(). By default they are the class's simple name (e.g. class name sans package), unless the class is an inner class, in which case the default is the inner class's simple name. Some rules explicitly provide alternate descriptions by calling the RelOptRule.RelOptRule(org.eigenbase.relopt.RelOptRuleOperand, String) constructor.

Author:
Stephan Zuercher

Method Summary
 void initialize(Map<VolcanoPlannerPhase,Set<String>> phaseRuleMap)
          Initializes a VolcanoPlannerPhase-to-rule map.
 

Method Detail

initialize

void initialize(Map<VolcanoPlannerPhase,Set<String>> phaseRuleMap)
Initializes a VolcanoPlannerPhase-to-rule map. Rules are specified by description (see above). When this method is called, the map will already be pre-initialized with empty sets for each VolcanoPlannerPhase. Implementations must not return having added or removed keys from the map, although it is safe to temporarily add or remove keys.

Parameters:
phaseRuleMap - a VolcanoPlannerPhase-to-rule map