| Modifier and Type | Field and Description |
|---|---|
| public static final int | |
| public static final int | |
| public static final int |
| Modifier and Type | Method and Description |
|---|---|
| public void | estimateCost(double
The estimated number of rows to sort estimatedInputRows, RowOrdering The ordering of the input rows rowOrdering, CostEstimate A place to store the resulting cost resultCost)Estimate the cost of doing a sort for this row ordering, given the number of rows to be sorted. |
| public boolean | |
| public void | |
| public void | |
| public int | Returns: SORT_REQUIRED if sorting is required, ELIMINATE_DUPS if no sorting is required but duplicates must be eliminated (i.e. the rows are in the right order but there may be duplicates), NOTHING_REQUIRED is no operation is requiredThe order of rows in question rowOrdering, OptimizableList The list of join participants optimizableList, int[] The current join order being considered by
the optimizer. We need to look into this to determine if the outer
optimizables are single row result set if the order by column is
on an inner optimizable and that inner optimizable is not a one.
proposedJoinOrder)proposedJoinOrder is a map onto optimizableList:
it contains indexes of optimizables in that list in the join order
proposed, cf. OptimizerImpl#proposedJoinOrder.Tell whether sorting is required for this RequiredRowOrdering, given a RowOrdering. |
| public int | Returns: SORT_REQUIRED if sorting is required, ELIMINATE_DUPS if no sorting is required by duplicates must be eliminated (i.e. the rows are in the right order but there may be duplicates), NOTHING_REQUIRED is no operation is requiredThe order of rows in the partial join order rowOrdering, JBitSet A bit map of the tables in the partial join order tableMap, OptimizableList The list of join participants optimizableList, int[] The current join order being considered by
the optimizer. We need to look into this to determine if the outer
optimizables are single row result set if the order by column is
on an inner optimizable and that inner optimizable is not a one.
proposedJoinOrder)proposedJoinOrder is a map onto optimizableList:
it contains indexes of optimizables in that list in the join order
proposed, cf. OptimizerImpl#proposedJoinOrder.
DERBY-3926 and DERBY-6148Tell whether sorting is required for this RequiredRowOrdering, given a RowOrdering representing a partial join order, and a bit map telling what tables are represented in the join order. |
| ELIMINATE_DUPS | back to summary |
|---|---|
| public static final int ELIMINATE_DUPS | |
| NOTHING_REQUIRED | back to summary |
|---|---|
| public static final int NOTHING_REQUIRED | |
| SORT_REQUIRED | back to summary |
|---|---|
| public static final int SORT_REQUIRED | |
| estimateCost | back to summary |
|---|---|
| public void estimateCost(double estimatedInputRows, RowOrdering rowOrdering, CostEstimate resultCost) throws StandardException Estimate the cost of doing a sort for this row ordering, given the number of rows to be sorted. This does not take into account whether the sort is really needed. It also estimates the number of result rows.
| |
| getSortNeeded | back to summary |
|---|---|
| public boolean getSortNeeded() | |
| sortNeeded | back to summary |
|---|---|
| public void sortNeeded() Indicate that a sort is necessary to fulfill this required ordering. This method may be called many times during a single optimization. | |
| sortNotNeeded | back to summary |
|---|---|
| public void sortNotNeeded() Indicate that a sort is *NOT* necessary to fulfill this required ordering. This method may be called many times during a single optimization. | |
| sortRequired | back to summary |
|---|---|
| public int sortRequired(RowOrdering rowOrdering, OptimizableList optimizableList, int[] proposedJoinOrder) throws StandardException Tell whether sorting is required for this RequiredRowOrdering, given a RowOrdering.
| |
| sortRequired | back to summary |
|---|---|
| public int sortRequired(RowOrdering rowOrdering, JBitSet tableMap, OptimizableList optimizableList, int[] proposedJoinOrder) throws StandardException Tell whether sorting is required for this RequiredRowOrdering, given a RowOrdering representing a partial join order, and a bit map telling what tables are represented in the join order. This is useful for reducing the number of cases the optimizer has to consider.
| |