Class AccessPathImpl
java.lang.Object
org.apache.derby.impl.sql.compile.AccessPathImpl
- All Implemented Interfaces:
AccessPath
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate String(package private) ConglomerateDescriptorprivate CostEstimate(package private) boolean(package private) JoinStrategy(package private) int(package private) boolean(package private) Optimizer -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidcopy(AccessPath copyFrom) Copy all information from the given AccessPath to this one.Get whatever was last set as the conglomerate descriptor.Get the cost estimate for this AccessPath.booleanReturn whether or not the optimizer is considering a covering index scan on this AccessPath.Get the join strategy, as set by setJoinStrategy().intGet the lock mode, as last set in setLockMode().booleanReturn whether or not the optimizer is considering a non-matching index scan on this AccessPath.Get the optimizer associated with this access path.voidSets the "name" of the access path. if the access path represents an index then set the name to the name of the index. if it is an index created for a constraint, use the constraint name.voidSet the conglomerate descriptor for this access path.voidsetCostEstimate(CostEstimate costEstimate) Set the given cost estimate in this AccessPath.voidsetCoveringIndexScan(boolean coveringIndexScan) Set whether or not to consider a covering index scan on the optimizable.voidsetJoinStrategy(JoinStrategy joinStrategy) Remember the given join strategyvoidsetLockMode(int lockMode) Set the lock modevoidsetNonMatchingIndexScan(boolean nonMatchingIndexScan) Set whether or not to consider a non-matching index scan on this AccessPath.toString()
-
Field Details
-
cd
-
costEstimate
-
coveringIndexScan
boolean coveringIndexScan -
nonMatchingIndexScan
boolean nonMatchingIndexScan -
joinStrategy
JoinStrategy joinStrategy -
lockMode
int lockMode -
optimizer
Optimizer optimizer -
accessPathName
-
-
Constructor Details
-
AccessPathImpl
AccessPathImpl(Optimizer optimizer)
-
-
Method Details
-
setConglomerateDescriptor
Description copied from interface:AccessPathSet the conglomerate descriptor for this access path.- Specified by:
setConglomerateDescriptorin interfaceAccessPath- Parameters:
cd- A ConglomerateDescriptor- See Also:
-
getConglomerateDescriptor
Description copied from interface:AccessPathGet whatever was last set as the conglomerate descriptor. Returns null if nothing was set since the last call to startOptimizing()- Specified by:
getConglomerateDescriptorin interfaceAccessPath- See Also:
-
setCostEstimate
Description copied from interface:AccessPathSet the given cost estimate in this AccessPath. Generally, this will be the CostEstimate for the plan currently under consideration.- Specified by:
setCostEstimatein interfaceAccessPath- See Also:
-
getCostEstimate
Description copied from interface:AccessPathGet the cost estimate for this AccessPath. This is the last one set by setCostEstimate.- Specified by:
getCostEstimatein interfaceAccessPath- See Also:
-
setCoveringIndexScan
public void setCoveringIndexScan(boolean coveringIndexScan) Description copied from interface:AccessPathSet whether or not to consider a covering index scan on the optimizable.- Specified by:
setCoveringIndexScanin interfaceAccessPath- See Also:
-
getCoveringIndexScan
public boolean getCoveringIndexScan()Description copied from interface:AccessPathReturn whether or not the optimizer is considering a covering index scan on this AccessPath.- Specified by:
getCoveringIndexScanin interfaceAccessPath- Returns:
- boolean Whether or not the optimizer chose a covering index scan.
- See Also:
-
setNonMatchingIndexScan
public void setNonMatchingIndexScan(boolean nonMatchingIndexScan) Description copied from interface:AccessPathSet whether or not to consider a non-matching index scan on this AccessPath.- Specified by:
setNonMatchingIndexScanin interfaceAccessPath- See Also:
-
getNonMatchingIndexScan
public boolean getNonMatchingIndexScan()Description copied from interface:AccessPathReturn whether or not the optimizer is considering a non-matching index scan on this AccessPath. We expect to call this during generation, after access path selection is complete.- Specified by:
getNonMatchingIndexScanin interfaceAccessPath- Returns:
- boolean Whether or not the optimizer is considering a non-matching index scan.
- See Also:
-
setJoinStrategy
Description copied from interface:AccessPathRemember the given join strategy- Specified by:
setJoinStrategyin interfaceAccessPath- Parameters:
joinStrategy- The best join strategy- See Also:
-
getJoinStrategy
Description copied from interface:AccessPathGet the join strategy, as set by setJoinStrategy().- Specified by:
getJoinStrategyin interfaceAccessPath- See Also:
-
setLockMode
public void setLockMode(int lockMode) Description copied from interface:AccessPathSet the lock mode- Specified by:
setLockModein interfaceAccessPath- See Also:
-
getLockMode
public int getLockMode()Description copied from interface:AccessPathGet the lock mode, as last set in setLockMode().- Specified by:
getLockModein interfaceAccessPath- See Also:
-
copy
Description copied from interface:AccessPathCopy all information from the given AccessPath to this one.- Specified by:
copyin interfaceAccessPath- See Also:
-
getOptimizer
Description copied from interface:AccessPathGet the optimizer associated with this access path.- Specified by:
getOptimizerin interfaceAccessPath- Returns:
- The optimizer associated with this access path.
- See Also:
-
toString
-
initializeAccessPathName
public void initializeAccessPathName(DataDictionary dd, TableDescriptor td) throws StandardException Description copied from interface:AccessPathSets the "name" of the access path. if the access path represents an index then set the name to the name of the index. if it is an index created for a constraint, use the constraint name. This is called only for base tables.- Specified by:
initializeAccessPathNamein interfaceAccessPath- Parameters:
dd- Datadictionary.td- TableDescriptor of the base table.- Throws:
StandardException- on error.- See Also:
-