org.apache.derby.impl.sql.execute
Class GenericAggregateResultSet
java.lang.Object
org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl
org.apache.derby.impl.sql.execute.NoPutResultSetImpl
org.apache.derby.impl.sql.execute.GenericAggregateResultSet
- All Implemented Interfaces:
- NoPutResultSet, ResultSet, RowLocationRetRowSource, RowSource
- Direct Known Subclasses:
- GroupedAggregateResultSet, ScalarAggregateResultSet
abstract class GenericAggregateResultSet
- extends NoPutResultSetImpl
Generic aggregation utilities.
Fields inherited from class org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl |
activation, beginTime, closeTime, compactRow, constructorTime, currentRow, endExecutionTime, finished, isOpen, isTopResultSet, nextTime, numOpens, openTime, optimizerEstimatedCost, optimizerEstimatedRowCount, resultDescription, rowsFiltered, rowsSeen, startExecutionTime, subqueryTrackingArray |
Methods inherited from class org.apache.derby.impl.sql.execute.NoPutResultSetImpl |
clearCurrentRow, clearOrderableCache, close, closeRowSource, getCursorName, getNextRowFromRowSource, getResultDescription, getValidColumns, isForUpdate, markRowAsDeleted, needsRowLocation, needsToClone, positionScanAtRowLocation, printQualifiers, resultSetNumber, rowLocation, setCurrentRow, setNeedsRowLocation, setTargetResultSet, skipRow, skipScan, updateRow |
Methods inherited from class org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl |
addWarning, attachStatementContext, checkCancellationFlag, checkRowPosition, cleanUp, dumpTimeStats, finishAndRTS, getAbsoluteRow, getActivation, getAutoGeneratedKeysResultset, getBeginExecutionTimestamp, getCompactRow, getCurrentTimeMillis, getElapsedMillis, getEndExecutionTimestamp, getEstimatedRowCount, getExecuteTime, getExecutionFactory, getFirstRow, getLanguageConnectionContext, getLastRow, getNextRow, getNextRowCore, getPointOfAttachment, getPreviousRow, getRelativeRow, getRowNumber, getScanIsolationLevel, getSubqueryTrackingArray, getTransactionController, getWarnings, isClosed, markAsTopResultSet, modifiedRowCount, open, recordConstructorTime, reopenCore, requiresRelocking, returnsRows, setAfterLastRow, setBeforeFirstRow, setCompactRow, setCompatRow |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
aggregates
protected GenericAggregator[] aggregates
rowAllocator
protected GeneratedMethod rowAllocator
aggInfoList
protected AggregatorInfoList aggInfoList
source
public NoPutResultSet source
originalSource
protected NoPutResultSet originalSource
GenericAggregateResultSet
GenericAggregateResultSet(NoPutResultSet s,
int aggregateItem,
Activation a,
GeneratedMethod ra,
int resultSetNumber,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost)
throws StandardException
- Constructor
- Parameters:
a
- activationra
- row allocator generated methodresultSetNumber
- result set numberoptimizerEstimatedRowCount
- optimizer estimated row countoptimizerEstimatedCost
- optimizer estimated cost
- Throws:
StandardException
- Thrown on error
getSortAggregators
protected final GenericAggregator[] getSortAggregators(AggregatorInfoList list,
boolean eliminateDistincts,
LanguageConnectionContext lcc,
NoPutResultSet inputResultSet)
throws StandardException
- For each AggregatorInfo in the list, generate a
GenericAggregator and stick it in an array of
GenericAggregators.
- Parameters:
list
- the list of aggregators to set upeliminateDistincts
- should distincts be ignored.
Used to toss out distinct aggregates for a prelim
sort.lcc
- the lccinputResultSet
- the incoming result set
- Returns:
- the array of GenericAggregators
- Throws:
StandardException
- on error
finishAggregation
protected final ExecIndexRow finishAggregation(ExecIndexRow row)
throws StandardException
- Finish the aggregation for the current row.
Basically call finish() on each aggregator on
this row. Called once per grouping on a vector
aggregate or once per table on a scalar aggregate.
If the input row is null, then rowAllocator is
invoked to create a new row. That row is then
initialized and used for the output of the aggregation.
- Parameters:
row
- the row to finish aggregation
- Returns:
- the result row. If the input row != null, then
the result row == input row
- Throws:
StandardException
- Thrown on error
finish
public void finish()
throws StandardException
- Description copied from interface:
ResultSet
- Tells the system that there will be no more access
to any database information via this result set;
in particular, no more calls to open().
Will close the result set if it is not already closed.
- Specified by:
finish
in interface ResultSet
- Overrides:
finish
in class BasicNoPutResultSetImpl
- Throws:
StandardException
- on error
Apache Derby V10.6 Internals - Copyright © 2004,2007 The Apache Software Foundation. All Rights Reserved.