| Modifier and Type | Field and Description |
|---|---|
| private StringBuilder |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| private void | |
| public void | printToWriter(PrintWriter out)
Implements org. Print the trace so far. |
| private String | |
| private String | |
| private String | |
| private String | reportJoinOrder(String prefix, boolean addJoinOrderNumber, int joinOrderNumber, int joinPosition, int[] joinOrder, JBitSet assignedTableMap)
|
| public void | traceAddingUnorderedOptimizable(int predicateCount)
Implements org. Say that we're adding an unordered optimizable. |
| public void | traceChangingAccessPathForTable(int tableNumber)
Implements org. Say that we're considering a different access path for a table. |
| public void | traceCheapestPlanSoFar(int planType, CostEstimate currentCost)
Implements org. Report the cost of the cheapest plan so far. |
| public void | traceCompleteJoinOrder()
Implements org. Say that we have a complete join order. |
| public void | traceCompositeSelectivityFromStatistics(double statCompositeSelectivity)
Implements org. Report the selectivity calculated from SYSSTATISTICS. |
| public void | traceConsideringConglomerate(ConglomerateDescriptor cd, int tableNumber)
Implements org. Report that we are considering a conglomerate for a table. |
| public void | traceConsideringJoinStrategy(JoinStrategy js, int tableNumber)
Implements org. Say that we're considering a particular join strategy on a particular table. |
| public void | traceConstantStartStopPositions()
Implements org. Say that we're setting the lock mode to MODE_RECORD because the start and stop positions are all constant. |
| public void | traceCostIncludingCompositeSelectivityFromStats(CostEstimate cost, int tableNumber)
Implements org. Report the cost based on selectivities coming out of SYSSTATISTICS. |
| public void | traceCostIncludingExtra1stColumnSelectivity(CostEstimate cost, int tableNumber)
Implements org. Report the cost of a scan given the selectivity of an extra first column. |
| public void | traceCostIncludingExtraNonQualifierSelectivity(CostEstimate cost, int tableNumber)
Implements org. Report the cost if we include an extra non-qualifier. |
| public void | traceCostIncludingExtraQualifierSelectivity(CostEstimate cost, int tableNumber)
Implements org. Report the cost if we include an extra qualifier. |
| public void | traceCostIncludingExtraStartStop(CostEstimate cost, int tableNumber)
Implements org. Report the cost if we include an extra start/stop. |
| public void | traceCostIncludingStatsForIndex(CostEstimate cost, int tableNumber)
Implements org. Report the cost based on index statistics. |
| public void | traceCostOfConglomerateScan(int tableNumber, ConglomerateDescriptor cd, CostEstimate costEstimate, int numExtraFirstColumnPreds, double extraFirstColumnSelectivity, int numExtraStartStopPreds, double extraStartStopSelectivity, int startStopPredCount, double statStartStopSelectivity, int numExtraQualifiers, double extraQualifierSelectivity, int numExtraNonQualifiers, double extraNonQualifierSelectivity)
Implements org. Report the cost of a conglomerate scan. |
| public void | traceCostOfNoncoveringIndex(CostEstimate cost, int tableNumber)
Implements org. Report the cost of using a non-covering index. |
| public void | traceCostOfNScans(int tableNumber, double rowCount, CostEstimate cost)
Implements org. Report the cost of scanning a table a certain number of times |
| public void | traceCostWithoutSortAvoidance(CostEstimate currentCost)
Implements org. Report the cost without a sort. |
| public void | traceCostWithSortAvoidance(CostEstimate currentSortAvoidanceCost)
Implements org. Report the cost with sort avoidance. |
| public void | traceCurrentPlanAvoidsSort(CostEstimate bestCost, CostEstimate currentSortAvoidanceCost)
Implements org. Say that the current plan avoids a sort. |
| public void | traceEndQueryBlock()
Implements org. End tracing the optimization of a query block. |
| public void | traceEstimatingCostOfConglomerate(ConglomerateDescriptor cd, int tableNumber)
Implements org. Report the cost of using a particular conglomerate to scan a table. |
| public void | traceHashKeyColumns(int[] hashKeyColumns)
Implements org. Report the columns being traced |
| public void | traceIllegalUserJoinOrder()
Implements org. Say that the user specified an impossible join order. |
| public void | traceJoinOrderConsideration(int joinPosition, int[] proposedJoinOrder, JBitSet assignedTableMap)
Implements org. Say that we're considering a join order. |
| public void | traceLookingForSpecifiedIndex(String indexName, int tableNumber)
Implements org. Say that we're looking for an index specified by optimizer hints. |
| public void | traceModifyingAccessPaths(int optimizerID)
Implements org. Say that we're modifying access paths. |
| public void | traceNextAccessPath(String baseTable, int predicateCount)
Implements org. Report that we are advancing to the next access path for the table. |
| public void | traceNoBestPlan()
Implements org. Say that we couldn't find a best plan. |
| public void | traceNoMoreConglomerates(int tableNumber)
Implements org. Say that we have exhausted the conglomerate possibilities for a table. |
| public void | traceNonCoveringIndexCost(double cost, int tableNumber)
Implements org. Say that we're considering a non-covering index. |
| public void | traceNoStartStopPosition()
Implements org. Say that we're setting the lock mode to MODE_TABLE because there is no start/stop position. |
| public void | traceOptimizingJoinNode()
Implements org. Say that we're starting to optimize a join node |
| public void | traceRememberingBestAccessPath(AccessPath accessPath, int tableNumber, int planType)
Implements org. Report that we've found a best access path. |
| public void | traceRememberingBestAccessPathSubstring(AccessPath ap, int tableNumber)
Implements org. Report the best access path for the table so far. |
| public void | traceRememberingBestJoinOrder(int joinPosition, int[] bestJoinOrder, int planType, CostEstimate planCost, JBitSet assignedTableMap)
Implements org. Say that we are remembering the current plan as the best join order so far. |
| public void | traceRememberingBestSortAvoidanceAccessPathSubstring(AccessPath ap, int tableNumber)
Implements org. Report the best sort-avoiding access path for this table so far. |
| public void | traceRememberingBestUnknownAccessPathSubstring(AccessPath ap, int tableNumber)
Implements org. Report an optimizer failure, e.g., while optimizing an outer join |
| public void | traceRememberingJoinStrategy(JoinStrategy joinStrategy, int tableNumber)
Implements org. Say that we've found a new best join strategy for the table. |
| public void | traceScanningHeapWithUniqueKey()
Implements org. Say that we're considering scanning a heap even though we have a unique key match. |
| public void | traceShortCircuiting(boolean timeExceeded, Optimizable thisOpt, int joinPosition)
Implements org. Say that we short-circuited a join order. |
| public void | traceSingleMatchedRowCost(double cost, int tableNumber)
Implements org. Report the cost of a scan which will match exactly one row. |
| public void | traceSkipHashJoinNoHashKeys()
Implements org. Say we won't consider a hash join because there are no hash key columns. |
| public void | traceSkippingBecauseTooMuchMemory(int maxMemoryPerTable)
Implements org. Say that we are skipping a plan because it consumes too much memory. |
| public void | traceSkippingJoinOrder(int nextOptimizable, int joinPosition, int[] proposedJoinOrder, JBitSet assignedTableMap)
Implements org. Say that we're skipping the join order starting with the next optimizable. |
| public void | traceSkipUnmaterializableHashJoin()
Implements org. Say that we won't consider a hash join because the result can't be materialized |
| public void | traceSortCost(CostEstimate sortCost, CostEstimate currentCost)
Implements org. Report the sort cost. |
| public void | traceSortNeededForOrdering(int planType, RequiredRowOrdering requiredRowOrdering)
Implements org. Report that this plan needs a sort |
| public void | traceStartQueryBlock(long timeOptimizationStarted, int optimizerID, OptimizableList optimizableList)
Implements org. Start optimizer tracing for a query block. |
| public void | traceStartStatement(String statementText)
Implements org. Start the start of tracing a statement. |
| public void | traceTimeout(long currentTime, CostEstimate bestCost)
Implements org. Say that the optimizer ran out of time. |
| public void | traceUserJoinOrderOptimized()
Implements org. Say that we have optimized the user-specified join order. |
| public void | traceVacuous()
Implements org. Say that there's nothing to optimizer. |
| _buffer | back to summary |
|---|---|
| private StringBuilder _buffer | |
| DefaultOptTrace | back to summary |
|---|---|
| public DefaultOptTrace() Make a DefaultOptTrace | |
| appendTraceString | back to summary |
|---|---|
| private void appendTraceString(String traceString) Append a string to the optimizer trace | |
| printToWriter | back to summary |
|---|---|
| public void printToWriter(PrintWriter out) Implements org. Doc from org. Print the trace so far. | |
| reportConglomerateDescriptor | back to summary |
|---|---|
| private String reportConglomerateDescriptor(ConglomerateDescriptor cd) | |
| reportCostForTable | back to summary |
|---|---|
| private String reportCostForTable(Object cost, int tableNumber) | |
| reportCostIncluding | back to summary |
|---|---|
| private String reportCostIncluding(String selectivityType, CostEstimate cost, int tableNumber) | |
| reportJoinOrder | back to summary |
|---|---|
| private String reportJoinOrder(String prefix, boolean addJoinOrderNumber, int joinOrderNumber, int joinPosition, int[] joinOrder, JBitSet assignedTableMap) | |
| traceAddingUnorderedOptimizable | back to summary |
|---|---|
| public void traceAddingUnorderedOptimizable(int predicateCount) Implements org. Doc from org. Say that we're adding an unordered optimizable. | |
| traceChangingAccessPathForTable | back to summary |
|---|---|
| public void traceChangingAccessPathForTable(int tableNumber) Implements org. Doc from org. Say that we're considering a different access path for a table. | |
| traceCheapestPlanSoFar | back to summary |
|---|---|
| public void traceCheapestPlanSoFar(int planType, CostEstimate currentCost) Implements org. Doc from org. Report the cost of the cheapest plan so far. | |
| traceCompleteJoinOrder | back to summary |
|---|---|
| public void traceCompleteJoinOrder() Implements org. Doc from org. Say that we have a complete join order. | |
| traceCompositeSelectivityFromStatistics | back to summary |
|---|---|
| public void traceCompositeSelectivityFromStatistics(double statCompositeSelectivity) Implements org. Doc from org. Report the selectivity calculated from SYSSTATISTICS. | |
| traceConsideringConglomerate | back to summary |
|---|---|
| public void traceConsideringConglomerate(ConglomerateDescriptor cd, int tableNumber) Implements org. Doc from org. Report that we are considering a conglomerate for a table. | |
| traceConsideringJoinStrategy | back to summary |
|---|---|
| public void traceConsideringJoinStrategy(JoinStrategy js, int tableNumber) Implements org. Doc from org. Say that we're considering a particular join strategy on a particular table. | |
| traceConstantStartStopPositions | back to summary |
|---|---|
| public void traceConstantStartStopPositions() Implements org. Doc from org. Say that we're setting the lock mode to MODE_RECORD because the start and stop positions are all constant. | |
| traceCostIncludingCompositeSelectivityFromStats | back to summary |
|---|---|
| public void traceCostIncludingCompositeSelectivityFromStats(CostEstimate cost, int tableNumber) Implements org. Doc from org. Report the cost based on selectivities coming out of SYSSTATISTICS. | |
| traceCostIncludingExtra1stColumnSelectivity | back to summary |
|---|---|
| public void traceCostIncludingExtra1stColumnSelectivity(CostEstimate cost, int tableNumber) Implements org. Doc from org. Report the cost of a scan given the selectivity of an extra first column. | |
| traceCostIncludingExtraNonQualifierSelectivity | back to summary |
|---|---|
| public void traceCostIncludingExtraNonQualifierSelectivity(CostEstimate cost, int tableNumber) Implements org. Doc from org. Report the cost if we include an extra non-qualifier. | |
| traceCostIncludingExtraQualifierSelectivity | back to summary |
|---|---|
| public void traceCostIncludingExtraQualifierSelectivity(CostEstimate cost, int tableNumber) Implements org. Doc from org. Report the cost if we include an extra qualifier. | |
| traceCostIncludingExtraStartStop | back to summary |
|---|---|
| public void traceCostIncludingExtraStartStop(CostEstimate cost, int tableNumber) Implements org. Doc from org. Report the cost if we include an extra start/stop. | |
| traceCostIncludingStatsForIndex | back to summary |
|---|---|
| public void traceCostIncludingStatsForIndex(CostEstimate cost, int tableNumber) Implements org. Doc from org. Report the cost based on index statistics. | |
| traceCostOfConglomerateScan | back to summary |
|---|---|
| public void traceCostOfConglomerateScan(int tableNumber, ConglomerateDescriptor cd, CostEstimate costEstimate, int numExtraFirstColumnPreds, double extraFirstColumnSelectivity, int numExtraStartStopPreds, double extraStartStopSelectivity, int startStopPredCount, double statStartStopSelectivity, int numExtraQualifiers, double extraQualifierSelectivity, int numExtraNonQualifiers, double extraNonQualifierSelectivity) Implements org. Doc from org. Report the cost of a conglomerate scan. | |
| traceCostOfNoncoveringIndex | back to summary |
|---|---|
| public void traceCostOfNoncoveringIndex(CostEstimate cost, int tableNumber) Implements org. Doc from org. Report the cost of using a non-covering index. | |
| traceCostOfNScans | back to summary |
|---|---|
| public void traceCostOfNScans(int tableNumber, double rowCount, CostEstimate cost) Implements org. Doc from org. Report the cost of scanning a table a certain number of times | |
| traceCostWithoutSortAvoidance | back to summary |
|---|---|
| public void traceCostWithoutSortAvoidance(CostEstimate currentCost) Implements org. Doc from org. Report the cost without a sort. | |
| traceCostWithSortAvoidance | back to summary |
|---|---|
| public void traceCostWithSortAvoidance(CostEstimate currentSortAvoidanceCost) Implements org. Doc from org. Report the cost with sort avoidance. | |
| traceCurrentPlanAvoidsSort | back to summary |
|---|---|
| public void traceCurrentPlanAvoidsSort(CostEstimate bestCost, CostEstimate currentSortAvoidanceCost) Implements org. Doc from org. Say that the current plan avoids a sort. | |
| traceEndQueryBlock | back to summary |
|---|---|
| public void traceEndQueryBlock() Implements org. Doc from org. End tracing the optimization of a query block. | |
| traceEstimatingCostOfConglomerate | back to summary |
|---|---|
| public void traceEstimatingCostOfConglomerate(ConglomerateDescriptor cd, int tableNumber) Implements org. Doc from org. Report the cost of using a particular conglomerate to scan a table. | |
| traceHashKeyColumns | back to summary |
|---|---|
| public void traceHashKeyColumns(int[] hashKeyColumns) Implements org. Doc from org. Report the columns being traced | |
| traceIllegalUserJoinOrder | back to summary |
|---|---|
| public void traceIllegalUserJoinOrder() Implements org. Doc from org. Say that the user specified an impossible join order. | |
| traceJoinOrderConsideration | back to summary |
|---|---|
| public void traceJoinOrderConsideration(int joinPosition, int[] proposedJoinOrder, JBitSet assignedTableMap) Implements org. Doc from org. Say that we're considering a join order. | |
| traceLookingForSpecifiedIndex | back to summary |
|---|---|
| public void traceLookingForSpecifiedIndex(String indexName, int tableNumber) Implements org. Doc from org. Say that we're looking for an index specified by optimizer hints. | |
| traceModifyingAccessPaths | back to summary |
|---|---|
| public void traceModifyingAccessPaths(int optimizerID) Implements org. Doc from org. Say that we're modifying access paths. | |
| traceNextAccessPath | back to summary |
|---|---|
| public void traceNextAccessPath(String baseTable, int predicateCount) Implements org. Doc from org. Report that we are advancing to the next access path for the table. | |
| traceNoBestPlan | back to summary |
|---|---|
| public void traceNoBestPlan() Implements org. Doc from org. Say that we couldn't find a best plan. | |
| traceNoMoreConglomerates | back to summary |
|---|---|
| public void traceNoMoreConglomerates(int tableNumber) Implements org. Doc from org. Say that we have exhausted the conglomerate possibilities for a table. | |
| traceNonCoveringIndexCost | back to summary |
|---|---|
| public void traceNonCoveringIndexCost(double cost, int tableNumber) Implements org. Doc from org. Say that we're considering a non-covering index. | |
| traceNoStartStopPosition | back to summary |
|---|---|
| public void traceNoStartStopPosition() Implements org. Doc from org. Say that we're setting the lock mode to MODE_TABLE because there is no start/stop position. | |
| traceOptimizingJoinNode | back to summary |
|---|---|
| public void traceOptimizingJoinNode() Implements org. Doc from org. Say that we're starting to optimize a join node | |
| traceRememberingBestAccessPath | back to summary |
|---|---|
| public void traceRememberingBestAccessPath(AccessPath accessPath, int tableNumber, int planType) Implements org. Doc from org. Report that we've found a best access path. | |
| traceRememberingBestAccessPathSubstring | back to summary |
|---|---|
| public void traceRememberingBestAccessPathSubstring(AccessPath ap, int tableNumber) Implements org. Doc from org. Report the best access path for the table so far. | |
| traceRememberingBestJoinOrder | back to summary |
|---|---|
| public void traceRememberingBestJoinOrder(int joinPosition, int[] bestJoinOrder, int planType, CostEstimate planCost, JBitSet assignedTableMap) Implements org. Doc from org. Say that we are remembering the current plan as the best join order so far. | |
| traceRememberingBestSortAvoidanceAccessPathSubstring | back to summary |
|---|---|
| public void traceRememberingBestSortAvoidanceAccessPathSubstring(AccessPath ap, int tableNumber) Implements org. Doc from org. Report the best sort-avoiding access path for this table so far. | |
| traceRememberingBestUnknownAccessPathSubstring | back to summary |
|---|---|
| public void traceRememberingBestUnknownAccessPathSubstring(AccessPath ap, int tableNumber) Implements org. Doc from org. Report an optimizer failure, e.g., while optimizing an outer join | |
| traceRememberingJoinStrategy | back to summary |
|---|---|
| public void traceRememberingJoinStrategy(JoinStrategy joinStrategy, int tableNumber) Implements org. Doc from org. Say that we've found a new best join strategy for the table. | |
| traceScanningHeapWithUniqueKey | back to summary |
|---|---|
| public void traceScanningHeapWithUniqueKey() Implements org. Doc from org. Say that we're considering scanning a heap even though we have a unique key match. | |
| traceShortCircuiting | back to summary |
|---|---|
| public void traceShortCircuiting(boolean timeExceeded, Optimizable thisOpt, int joinPosition) Implements org. Doc from org. Say that we short-circuited a join order. | |
| traceSingleMatchedRowCost | back to summary |
|---|---|
| public void traceSingleMatchedRowCost(double cost, int tableNumber) Implements org. Doc from org. Report the cost of a scan which will match exactly one row. | |
| traceSkipHashJoinNoHashKeys | back to summary |
|---|---|
| public void traceSkipHashJoinNoHashKeys() Implements org. Doc from org. Say we won't consider a hash join because there are no hash key columns. | |
| traceSkippingBecauseTooMuchMemory | back to summary |
|---|---|
| public void traceSkippingBecauseTooMuchMemory(int maxMemoryPerTable) Implements org. Doc from org. Say that we are skipping a plan because it consumes too much memory. | |
| traceSkippingJoinOrder | back to summary |
|---|---|
| public void traceSkippingJoinOrder(int nextOptimizable, int joinPosition, int[] proposedJoinOrder, JBitSet assignedTableMap) Implements org. Doc from org. Say that we're skipping the join order starting with the next optimizable. | |
| traceSkipUnmaterializableHashJoin | back to summary |
|---|---|
| public void traceSkipUnmaterializableHashJoin() Implements org. Doc from org. Say that we won't consider a hash join because the result can't be materialized | |
| traceSortCost | back to summary |
|---|---|
| public void traceSortCost(CostEstimate sortCost, CostEstimate currentCost) Implements org. Doc from org. Report the sort cost. | |
| traceSortNeededForOrdering | back to summary |
|---|---|
| public void traceSortNeededForOrdering(int planType, RequiredRowOrdering requiredRowOrdering) Implements org. Doc from org. Report that this plan needs a sort | |
| traceStartQueryBlock | back to summary |
|---|---|
| public void traceStartQueryBlock(long timeOptimizationStarted, int optimizerID, OptimizableList optimizableList) Implements org. Doc from org. Start optimizer tracing for a query block. | |
| traceStartStatement | back to summary |
|---|---|
| public void traceStartStatement(String statementText) Implements org. Doc from org. Start the start of tracing a statement. | |
| traceTimeout | back to summary |
|---|---|
| public void traceTimeout(long currentTime, CostEstimate bestCost) Implements org. Doc from org. Say that the optimizer ran out of time. | |
| traceUserJoinOrderOptimized | back to summary |
|---|---|
| public void traceUserJoinOrderOptimized() Implements org. Doc from org. Say that we have optimized the user-specified join order. | |
| traceVacuous | back to summary |
|---|---|
| public void traceVacuous() Implements org. Doc from org. Say that there's nothing to optimizer. | |