| Modifier and Type | Class and Description |
|---|---|
| public static class |
| Modifier and Type | Field and Description |
|---|---|
| private ContextManager | |
| private XMLOptTrace. | |
| private Element | |
| private int | |
| private Document | |
| private LanguageConnectionContext | |
| private int | |
| private Stack | |
| private Element | |
| private static final String | |
| private static final String | |
| private static final String | |
| private static final String | |
| private static final String | |
| private static final String | |
| private static final String | |
| private static final String | |
| private static final String | |
| private static final String | |
| private static final String | |
| private static final String | |
| private static final String | |
| private static final String | |
| private static final String | |
| private static final String | |
| private static final String | |
| private static final String | |
| private static final String | |
| private static final String | |
| private static final String | |
| private static final String | |
| private static final String | |
| pack-priv static final String | |
| pack-priv static final String | |
| private static final String | |
| private static final String | |
| private static final String | |
| private static final String | |
| private static final String | |
| private static final String | |
| private static final String | |
| private static final String | |
| private static final String | |
| private static final String | |
| private static final String | |
| private static final String | |
| private static final String | |
| private static final String | |
| private static final String | |
| private static final String | |
| private static final String | |
| private static final String | |
| private static final String |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| private Element | |
| private void | |
| private void | |
| private Element | formatPlanCost(Element parent, String type, int[] planOrder, int planType, CostEstimate raw)
Turn a CostEstimate for a join order into a human-readable element |
| private String | formatPlanSummary(int[] planOrder, int planType)
Produce a string representation of the plan being considered now. |
| private void | formatSelectivity(Element parent, String tag, int count, double selectivity)
Format selectivity subelement |
| private Element | formatSkip(Element parent, String skipTag, String reason)
Create an element explaining that we're skipping some processing |
| private String | |
| private Optimizable | |
| private TableName | |
| private boolean | |
| private boolean | |
| private boolean | |
| private TableName | |
| private void | |
| public void | printToWriter(PrintWriter out)
Implements org. Print the trace so far. |
| 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. |