org.apache.derby.impl.sql.compile
Class MaxMinAggregateDefinition

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

public class MaxMinAggregateDefinition
extends java.lang.Object
implements AggregateDefinition

Defintion for the MAX()/MIN() aggregates.

Author:
jamie

Field Summary
private  boolean isMax
           
 
Constructor Summary
MaxMinAggregateDefinition()
          Niladic constructor.
 
Method Summary
 TypeDescriptor getAggregator(TypeDescriptor inputType, java.lang.StringBuffer aggregatorClass)
          Determines the result datatype.
 boolean isMax()
          Return if the aggregator class is for min/max.
 void setMaxOrMin(boolean isMax)
          This is set by the parser.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

isMax

private boolean isMax
Constructor Detail

MaxMinAggregateDefinition

public MaxMinAggregateDefinition()
Niladic constructor. Does nothing. For ease Of use, only.

Method Detail

getAggregator

public final TypeDescriptor getAggregator(TypeDescriptor inputType,
                                          java.lang.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 descriptor
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:
TypeDescriptor, com.ibm.db2j.types.TypeFactory, com.ibm.db2j.aggregates.Aggregator

setMaxOrMin

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


isMax

public final boolean isMax()
Return if the aggregator class is for min/max.

Returns:
boolean true/false


Apache Derby V10.0 Engine Documentation - Copyright © 1997,2004 The Apache Software Foundation or its licensors, as applicable.