Class MaxMinAggregateDefinition

java.lang.Object
org.apache.derby.impl.sql.compile.MaxMinAggregateDefinition
All Implemented Interfaces:
AggregateDefinition

class MaxMinAggregateDefinition extends Object implements AggregateDefinition
Defintion for the MAX()/MIN() aggregates.
  • Field Details

    • isMax

      private boolean isMax
  • Constructor Details

    • MaxMinAggregateDefinition

      public MaxMinAggregateDefinition()
      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 divide().

      Specified by:
      getAggregator in interface AggregateDefinition
      Parameters:
      inputType - the input type, either a user type or a java.lang object
      aggregatorClass - 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:
    • setMaxOrMin

      final void setMaxOrMin(boolean isMax)
      This is set by the parser.
    • isMax

      final boolean isMax()
      Return if the aggregator class is for min/max.
      Returns:
      boolean true/false