Class SumAvgAggregateDefinition
java.lang.Object
org.apache.derby.impl.sql.compile.SumAvgAggregateDefinition
- All Implemented Interfaces:
AggregateDefinition
Definition for the SUM()/AVG() aggregates.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal DataTypeDescriptor
getAggregator
(DataTypeDescriptor inputType, StringBuffer aggregatorClass) Determines the result datatype.private String
Return the aggregator class.protected String
Return the arithmetic operator corresponding to this operation.(package private) final void
setSumOrAvg
(boolean isSum) This is set by the parser.
-
Field Details
-
isSum
private boolean isSum
-
-
Constructor Details
-
SumAvgAggregateDefinition
public SumAvgAggregateDefinition()Niladic constructor. Does nothing. For ease Of use, only.
-
-
Method Details
-
getAggregator
public final DataTypeDescriptor getAggregator(DataTypeDescriptor inputType, StringBuffer aggregatorClass) Determines the result datatype. Accept NumberDataValues only.Note: In the future you should be able to do a sum user data types. One option would be to run sum on anything that implements plus(). In which case avg() would need divide().
- Specified by:
getAggregator
in interfaceAggregateDefinition
- Parameters:
inputType
- the input type, either a user type or a java.lang objectaggregatorClass
- output parameter, filled in with the class name that implements com.ibm.db2j.aggregates.Aggregator- Returns:
- the output Class (null if cannot operate on value expression of this type.
- See Also:
-
getAggregatorClassName
Return the aggregator class.- Returns:
- SumAggregator.CLASS_NAME/AvgAggregator.CLASS_NAME
-
getOperator
Return the arithmetic operator corresponding to this operation.- Returns:
- TypeCompiler.SUM_OP /TypeCompiler.AVG_OP
-
setSumOrAvg
final void setSumOrAvg(boolean isSum) This is set by the parser.
-