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

java.lang.Object
  extended by org.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.


Field Summary
private  boolean isMax
           
 
Constructor Summary
MaxMinAggregateDefinition()
          Niladic constructor.
 
Method Summary
 DataTypeDescriptor getAggregator(DataTypeDescriptor 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 DataTypeDescriptor getAggregator(DataTypeDescriptor 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, 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:
TypeDescriptor

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

Built on Thu 2010-12-23 20:49:13+0000, from revision ???

Apache Derby V10.6 Internals - Copyright © 2004,2007 The Apache Software Foundation. All Rights Reserved.