Class GenericAggregator
- java.lang.Object
-
- org.apache.derby.impl.sql.execute.GenericAggregator
-
class GenericAggregator extends java.lang.ObjectAdaptor that sits between execution layer and aggregates.
-
-
Field Summary
Fields Modifier and Type Field Description private AggregatorInfoaggInfo(package private) intaggregatorColumnIdprivate ExecAggregatorcachedAggregatorprivate ClassFactorycfprivate intinputColumnIdprivate intresultColumnId
-
Constructor Summary
Constructors Constructor Description GenericAggregator(AggregatorInfo aggInfo, ClassFactory cf)Constructor:
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) voidaccumulate(java.lang.Object[] inputRow, java.lang.Object[] accumulateRow)Accumulate the aggregate results.(package private) voidaccumulate(ExecRow inputRow, ExecRow accumulateRow)Accumulate the aggregate results.(package private) voidaccumulate(DataValueDescriptor inputColumn, DataValueDescriptor aggregatorColumn)Accumulate the aggregate results.(package private) booleanfinish(ExecRow row)Get the results of the aggregation and put it in the result column.(package private) AggregatorInfogetAggregatorInfo()(package private) ExecAggregatorgetAggregatorInstance()Get a new instance of the aggregator and initialize it.(package private) intgetColumnId()Return the column id that is being aggregated(package private) DataValueDescriptorgetInputColumnValue(ExecRow row)(package private) voidinitialize(ExecRow row)Initialize the aggregator(package private) voidmerge(java.lang.Object[] inputRow, java.lang.Object[] mergeRow)Merge the aggregate results.(package private) voidmerge(Storable aggregatorColumnIn, Storable aggregatorColumnOut)Merge two partial aggregations.(package private) voidmerge(ExecRow inputRow, ExecRow mergeRow)Merge the aggregate results.
-
-
-
Field Detail
-
aggInfo
private final AggregatorInfo aggInfo
-
aggregatorColumnId
int aggregatorColumnId
-
inputColumnId
private int inputColumnId
-
resultColumnId
private int resultColumnId
-
cf
private final ClassFactory cf
-
cachedAggregator
private ExecAggregator cachedAggregator
-
-
Constructor Detail
-
GenericAggregator
GenericAggregator(AggregatorInfo aggInfo, ClassFactory cf)
Constructor:- Parameters:
aggInfo- information about the user aggregatecf- the class factory.
-
-
Method Detail
-
initialize
void initialize(ExecRow row) throws StandardException
Initialize the aggregator- Parameters:
row- the row with the aggregator to be initialized- Throws:
StandardException- on error
-
accumulate
void accumulate(ExecRow inputRow, ExecRow accumulateRow) throws StandardException
Accumulate the aggregate results. This is the guts of the aggregation. We will call the user aggregate on itself to do the aggregation.- Parameters:
inputRow- the row with the input columaccumulateRow- the row with the aggregator- Throws:
StandardException- on error
-
accumulate
void accumulate(java.lang.Object[] inputRow, java.lang.Object[] accumulateRow) throws StandardExceptionAccumulate the aggregate results. This is the guts of the aggregation. We will call the user aggregate on itself to do the aggregation.- Parameters:
inputRow- the row with the input columaccumulateRow- the row with the aggregator- Throws:
StandardException- on error
-
accumulate
void accumulate(DataValueDescriptor inputColumn, DataValueDescriptor aggregatorColumn) throws StandardException
Accumulate the aggregate results. This is the guts of the aggregation. We will call the user aggregate on itself to do the aggregation.- Parameters:
inputColumn-aggregatorColumn-- Throws:
StandardException- on error
-
merge
void merge(ExecRow inputRow, ExecRow mergeRow) throws StandardException
Merge the aggregate results. This is the guts of the aggregation. We will call the user aggregate on itself to do the aggregation.- Parameters:
inputRow- the row with the input colummergeRow- the row with the aggregator- Throws:
StandardException- on error
-
merge
void merge(java.lang.Object[] inputRow, java.lang.Object[] mergeRow) throws StandardExceptionMerge the aggregate results. This is the guts of the aggregation. We will call the user aggregate on itself to do the aggregation.- Parameters:
inputRow- the row with the input colummergeRow- the row with the aggregator- Throws:
StandardException- on error
-
finish
boolean finish(ExecRow row) throws StandardException
Get the results of the aggregation and put it in the result column.- Parameters:
row- the row with the result and the aggregator- Throws:
StandardException- on error
-
getAggregatorInstance
ExecAggregator getAggregatorInstance() throws StandardException
Get a new instance of the aggregator and initialize it.- Returns:
- an exec aggregator
- Throws:
StandardException- on error
-
getColumnId
int getColumnId()
Return the column id that is being aggregated
-
getInputColumnValue
DataValueDescriptor getInputColumnValue(ExecRow row) throws StandardException
- Throws:
StandardException
-
merge
void merge(Storable aggregatorColumnIn, Storable aggregatorColumnOut) throws StandardException
Merge two partial aggregations. This is how the sorter merges partial aggregates.- Throws:
StandardException- on error
-
getAggregatorInfo
AggregatorInfo getAggregatorInfo()
-
-