Documentation of 'org.apache.derby.impl.sql.execute.SumAggregator' Java class
SumAggregator
org.apache.derby.impl.sql.execute

Class SumAggregator

    • Constructor Summary

      Constructors 
      Constructor and Description
      SumAggregator() 
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      void accumulate(DataValueDescriptor addend, java.lang.Object ga)
      Iteratively accumulates the addend into the aggregator.
      boolean didEliminateNulls()
      Return true if the aggregation eliminated at least one null from the input data set.
      DataValueDescriptor getResult()
      Return the result of the operations that we have been performing.
      int getTypeFormatId()
      Get the formatID which corresponds to this class.
      void merge(ExecAggregator addend)
      Merges one aggregator into a another aggregator.
      ExecAggregator newAggregator()
      Return a new initialized copy of this aggregator, any state set by the setup() method of the original Aggregator must be copied into the new aggregator.
      void readExternal(java.io.ObjectInput in) 
      void setup(ClassFactory cf, java.lang.String aggregateName, DataTypeDescriptor returnDataType)
      Set's up the aggregate for processing.
      java.lang.String toString() 
      void writeExternal(java.io.ObjectOutput out)
      Although we are not expected to be persistent per se, we may be written out by the sorter temporarily.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • SumAggregator

        public SumAggregator()
    • Method Detail

      • newAggregator

        public ExecAggregator newAggregator()
        Description copied from interface: ExecAggregator
        Return a new initialized copy of this aggregator, any state set by the setup() method of the original Aggregator must be copied into the new aggregator.
        Returns:
        ExecAggregator the new aggregator
      • getTypeFormatId

        public int getTypeFormatId()
        Get the formatID which corresponds to this class.
        Returns:
        the formatID of this class
      • toString

        public java.lang.String toString()
      • setup

        public void setup(ClassFactory cf,
                          java.lang.String aggregateName,
                          DataTypeDescriptor returnDataType)
        Description copied from interface: ExecAggregator
        Set's up the aggregate for processing.
        Parameters:
        cf - Database-specific class factory.
        aggregateName - For builtin aggregates, this is a SQL aggregate name like MAX. For user-defined aggregates, this is the name of the user-written class which implements org.apache.derby.agg.Aggregator.
        returnDataType - The type returned by the getResult() method.
      • merge

        public void merge(ExecAggregator addend)
                   throws StandardException
        Description copied from interface: ExecAggregator
        Merges one aggregator into a another aggregator. Merges two partial aggregates results into a single result. Needed for:
        • parallel aggregation
        • vector aggregation (GROUP BY)
        • distinct aggregates (e.g. MAX(DISTINCT Col))

        An example of a merge would be: given two COUNT() aggregators, C1 and C2, a merge of C1 into C2 would set C1.count += C2.count. So, given a CountAggregator with a getCount() method that returns its counts, its merge method might look like this:

        
                        public void merge(ExecAggregator inputAggregator) throws StandardException
                        {
                           count += ((CountAccgregator)inputAggregator).getCount();
                        } 
        Parameters:
        addend - the other Aggregator (input partial aggregate)
        Throws:
        StandardException - on error
        See Also:
        ExecAggregator.merge(org.apache.derby.iapi.sql.execute.ExecAggregator)
      • writeExternal

        public void writeExternal(java.io.ObjectOutput out)
                           throws java.io.IOException
        Although we are not expected to be persistent per se, we may be written out by the sorter temporarily. So we need to be able to write ourselves out and read ourselves back in. We rely on formatable to handle situations where value is null.

        Why would we be called to write ourselves out if we are null? For scalar aggregates, we don't bother setting up the aggregator since we only need a single row. So for a scalar aggregate that needs to go to disk, the aggregator might be null.

        Specified by:
        writeExternal in interface java.io.Externalizable
        Throws:
        java.io.IOException - on error
        See Also:
        Externalizable.writeExternal(java.io.ObjectOutput)
      • readExternal

        public void readExternal(java.io.ObjectInput in)
                          throws java.io.IOException,
                                 java.lang.ClassNotFoundException
        Specified by:
        readExternal in interface java.io.Externalizable
        Throws:
        java.io.IOException - on error
        java.lang.ClassNotFoundException - on error
        See Also:
        Externalizable.readExternal(java.io.ObjectInput)
      • didEliminateNulls

        public boolean didEliminateNulls()
        Description copied from interface: ExecAggregator
        Return true if the aggregation eliminated at least one null from the input data set.
        Specified by:
        didEliminateNulls in interface ExecAggregator
      • accumulate

        public void accumulate(DataValueDescriptor addend,
                               java.lang.Object ga)
                        throws StandardException
        Description copied from interface: ExecAggregator
        Iteratively accumulates the addend into the aggregator. Called on each member of the set of values that is being aggregated.
        Specified by:
        accumulate in interface ExecAggregator
        Parameters:
        addend - the DataValueDescriptor addend (current input to the aggregation)
        ga - a result set getter
        Throws:
        StandardException - on error

DataMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.