| Modifier and Type | Field and Description |
|---|---|
| private boolean | |
| protected JoinStrategy[] | |
| protected int | |
| protected boolean | |
| protected String | |
| protected boolean | |
| protected boolean |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| public void | boot(boolean
True if the database should be created create, Properties Configuration properties startParams)Implements org. Boot this module with the given properties. |
| public boolean | doJoinOrderOptimization()
Implements org. Tell whether to do join order optimization. |
| public CostEstimate | getCostEstimate()
Implements org. Return a new CostEstimate. |
| public int | getMaxMemoryPerTable()
Implements org. Return the maxMemoryPerTable setting, this is used in optimizer, as well as subquery materialization at run time. |
| public Optimizer | getOptimizer(OptimizableList
The list of Optimizables to optimize. optimizableList, OptimizablePredicateList The list of unassigned OptimizablePredicates. predList, DataDictionary The DataDictionary to use. dDictionary, RequiredRowOrdering The required ordering of the rows to
come out of the optimized result set requiredRowOrdering, int The number of tables in the current query numTablesInQuery, OptimizerPlan (Optional) A complete plan specified by optimizer overrides. Must have been bound already. overridingPlan, LanguageConnectionContext The LanguageConnectionContext
RESOLVE - We probably want to pass a subquery list, once we define a
new interface for them, so that the Optimizer can out where to attach
the subqueries. lcc)Implements org. Only one optimizer level should exist in the database, however, the connection may have multiple instances of that optimizer at a given time. |
| protected Optimizer | getOptimizerImpl(OptimizableList optimizableList, OptimizablePredicateList predList, DataDictionary dDictionary, RequiredRowOrdering requiredRowOrdering, int numTablesInQuery, OptimizerPlan overridingPlan, LanguageConnectionContext lcc)
|
| public void | |
| public boolean | supportsOptimizerTrace()
Implements org. Return whether or not the optimizer associated with this factory supports optimizer trace. |
| joinOrderOptimization | back to summary |
|---|---|
| private boolean joinOrderOptimization | |
| joinStrategySet | back to summary |
|---|---|
| protected JoinStrategy[] joinStrategySet | |
| maxMemoryPerTable | back to summary |
|---|---|
| protected int maxMemoryPerTable | |
| noTimeout | back to summary |
|---|---|
| protected boolean noTimeout | |
| optimizerId | back to summary |
|---|---|
| protected String optimizerId | |
| ruleBasedOptimization | back to summary |
|---|---|
| protected boolean ruleBasedOptimization | |
| useStatistics | back to summary |
|---|---|
| protected boolean useStatistics | |
| OptimizerFactoryImpl | back to summary |
|---|---|
| public OptimizerFactoryImpl() | |
| boot | back to summary |
|---|---|
| public void boot(boolean create, Properties startParams) throws StandardException Implements org. Doc from org. Boot this module with the given properties. Creates a module instance that can be found using the findModule() methods of Monitor. The module can only be found using one of these findModule() methods once this method has returned. An implementation's boot method can throw StandardException. If it is thrown the module is not registered by the monitor and therefore cannot be found through a findModule(). In this case the module's stop() method is not called, thus throwing this exception must free up any resources.
When create is true the contents of the properties object
will be written to the service.properties of the persistent
service. Thus any code that requires an entry in service.properties
must explicitly place the value in this properties set
using the put method.
When create is false the properties object contains all the properties set in the service.properties file plus a limited number of attributes from the JDBC URL attributes or connection properties set. This avoids properties set by the user compromising the boot process. An example of a property passed in from the JDBC world is the bootPassword for encrypted databases. Code should not hold onto the passed in properties reference after boot time as its contents may change underneath it. At least after the complete boot is completed, the links to all the default sets will be removed.
| |
| doJoinOrderOptimization | back to summary |
|---|---|
| public boolean doJoinOrderOptimization() Implements org. Doc from org. Tell whether to do join order optimization.
| |
| getCostEstimate | back to summary |
|---|---|
| public CostEstimate getCostEstimate() Implements org. Doc from org. Return a new CostEstimate.
| |
| getMaxMemoryPerTable | back to summary |
|---|---|
| public int getMaxMemoryPerTable() Implements org. Doc from org. Return the maxMemoryPerTable setting, this is used in optimizer, as well as subquery materialization at run time.
| |
| getOptimizer | back to summary |
|---|---|
| public Optimizer getOptimizer(OptimizableList optimizableList, OptimizablePredicateList predList, DataDictionary dDictionary, RequiredRowOrdering requiredRowOrdering, int numTablesInQuery, OptimizerPlan overridingPlan, LanguageConnectionContext lcc) throws StandardException Implements org. Doc from org. Only one optimizer level should exist in the database, however, the connection may have multiple instances of that optimizer at a given time.
| |
| getOptimizerImpl | back to summary |
|---|---|
| protected Optimizer getOptimizerImpl(OptimizableList optimizableList, OptimizablePredicateList predList, DataDictionary dDictionary, RequiredRowOrdering requiredRowOrdering, int numTablesInQuery, OptimizerPlan overridingPlan, LanguageConnectionContext lcc) throws StandardException | |
| stop | back to summary |
|---|---|
| public void stop() Implements org. Doc from org. Stop the module. The module may be found via a findModule() method until some time after this method returns. Therefore the factory must be prepared to reject requests to it once it has been stopped. In addition other modules may cache a reference to the module and make requests of it after it has been stopped, these requests should be rejected as well. | |
| supportsOptimizerTrace | back to summary |
|---|---|
| public boolean supportsOptimizerTrace() Implements org. Doc from org. Return whether or not the optimizer associated with this factory supports optimizer trace.
| |