OptimizerFactoryImplpublic interface OptimizerFactory
There is expected to be only one of these configured per database.
| Modifier and Type | Field | Description |
|---|---|---|
static java.lang.String |
MODULE |
Module name for the monitor's module locating system.
|
| Modifier and Type | Method | Description |
|---|---|---|
boolean |
doJoinOrderOptimization() |
Tell whether to do join order optimization.
|
CostEstimate |
getCostEstimate() |
Return a new CostEstimate.
|
int |
getMaxMemoryPerTable() |
Return the maxMemoryPerTable setting, this is used in
optimizer, as well as subquery materialization at run time.
|
Optimizer |
getOptimizer(OptimizableList optimizableList,
OptimizablePredicateList predicateList,
DataDictionary dDictionary,
RequiredRowOrdering requiredRowOrdering,
int numTablesInQuery,
OptimizerPlan overridingPlan,
LanguageConnectionContext lcc) |
Only one optimizer level should exist in the database, however, the
connection may have multiple instances of that optimizer
at a given time.
|
boolean |
supportsOptimizerTrace() |
Return whether or not the optimizer associated with
this factory supports optimizer trace.
|
static final java.lang.String MODULE
Optimizer getOptimizer(OptimizableList optimizableList, OptimizablePredicateList predicateList, DataDictionary dDictionary, RequiredRowOrdering requiredRowOrdering, int numTablesInQuery, OptimizerPlan overridingPlan, LanguageConnectionContext lcc) throws StandardException
optimizableList - The list of Optimizables to optimize.predicateList - The list of unassigned OptimizablePredicates.dDictionary - The DataDictionary to use.requiredRowOrdering - The required ordering of the rows to
come out of the optimized result setnumTablesInQuery - The number of tables in the current queryoverridingPlan - (Optional) A complete plan specified by optimizer overrides. Must have been bound already.lcc - 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.StandardException - Thrown on errorCostEstimate getCostEstimate()
boolean supportsOptimizerTrace()
int getMaxMemoryPerTable()
boolean doJoinOrderOptimization()
true means do join order optimization, false
means don't do it.Apache Derby V10.14 Internals - Copyright © 2004,2018 The Apache Software Foundation. All Rights Reserved.