Fennel: CountAggComputer Class Reference (original) (raw)

CountAggComputer is an abstract base for computing COUNT(). More...

#include <[AggComputerImpl.h](AggComputerImpl%5F8h-source.html)>

Inheritance diagram for CountAggComputer:

List of all members.

Public Member Functions
virtual void computeOutput (TupleDatum &outputDatum, TupleDatum const &accumulatorDatum)
Computes an output based on accumulator state.
virtual void setInputAttrIndex (uint iInputAttrIndex)
Sets the attribute index from which this computer should read input values in source tuples.
virtual void clearAccumulator (TupleDatum &accumulatorDatum)=0
Clears an accumulator.
virtual void updateAccumulator (TupleDatum &accumulatorDatum, TupleData const &inputTuple)=0
Updates an accumulator with a new input tuple.
virtual void updateAccumulator (TupleDatum &accumulatorDatumSrc, TupleDatum &accumulatorDatumDest, TupleData const &inputTuple)=0
Computes a new accumulator from an existing accumulator dataum and a new input tuple.
virtual void initAccumulator (TupleDatum &accumulatorDatumDest, TupleData const &inputTuple)=0
Initializes a new accumulator datum from an input tuple.
virtual void initAccumulator (TupleDatum &accumulatorDatumSrc, TupleDatum &accumulatorDatumDest)=0
Initializes a new accumulator datum from an existing accumulator datum.
Static Public Member Functions
static AggComputer * newAggComputer (AggFunction aggFunction, TupleAttributeDescriptor const *pAttrDesc)
Virtual constructor.
Protected Member Functions
uint64_t & interpretDatum (TupleDatum &)
void clearAccumulatorImpl (TupleDatum &accumulatorDatum)
void initAccumulatorImpl (TupleDatum &accumulatorDatum)
void updateAccumulatorImpl (TupleDatum &accumulatorDatum)
Protected Attributes
int iInputAttr

Detailed Description

CountAggComputer is an abstract base for computing COUNT().

Definition at line 34 of file AggComputerImpl.h.


Member Function Documentation

void CountAggComputer::clearAccumulatorImpl ( TupleDatum & accumulatorDatum ) [inline, protected]
void CountAggComputer::initAccumulatorImpl ( TupleDatum & accumulatorDatum ) [inline, protected]
void CountAggComputer::updateAccumulatorImpl ( TupleDatum & accumulatorDatum ) [inline, protected]
void CountAggComputer::computeOutput ( TupleDatum & outputDatum,
TupleDatum const & accumulatorDatum
) [virtual]

Computes an output based on accumulator state.

Parameters:

outputDatum receives reference to computed output in preparation for marshalling result
accumulatorDatum final in-memory accumulator state

Implements AggComputer.

Definition at line 120 of file AggComputer.cpp.

00123 { 00124
00125 outputDatum = accumulatorDatum; 00126 }

Virtual constructor.

Parameters:

aggFunction function for which to construct a computer
pAttrDesc descriptor for input attribute, or NULL for no input attribute (as in COUNT(*))

Definition at line 34 of file AggComputer.cpp.

References AGG_FUNC_COUNT, AGG_FUNC_MAX, AGG_FUNC_MIN, AGG_FUNC_SINGLE_VALUE, AGG_FUNC_SUM, STANDARD_TYPE_DOUBLE, STANDARD_TYPE_INT_16, STANDARD_TYPE_INT_32, STANDARD_TYPE_INT_64, STANDARD_TYPE_INT_8, STANDARD_TYPE_REAL, STANDARD_TYPE_UINT_16, STANDARD_TYPE_UINT_32, STANDARD_TYPE_UINT_64, and STANDARD_TYPE_UINT_8.

Referenced by SortedAggExecStream::newAggComputer(), and LhxAggExecStream::setAggComputers().

void AggComputer::setInputAttrIndex ( uint iInputAttrIndex ) [virtual, inherited]
virtual void AggComputer::clearAccumulator ( TupleDatum & accumulatorDatum ) [pure virtual, inherited]
virtual void AggComputer::updateAccumulator ( TupleDatum & accumulatorDatum,
TupleData const & inputTuple
) [pure virtual, inherited]
virtual void AggComputer::updateAccumulator ( TupleDatum & accumulatorDatumSrc,
TupleDatum & accumulatorDatumDest,
TupleData const & inputTuple
) [pure virtual, inherited]
virtual void AggComputer::initAccumulator ( TupleDatum & accumulatorDatumDest,
TupleData const & inputTuple
) [pure virtual, inherited]
virtual void AggComputer::initAccumulator ( TupleDatum & accumulatorDatumSrc,
TupleDatum & accumulatorDatumDest
) [pure virtual, inherited]

Member Data Documentation


The documentation for this class was generated from the following files:


Generated on Mon Jun 22 04:00:29 2009 for Fennel by doxygen 1.5.1