Fennel: LbmRepeatingAggComputer Class Reference (original) (raw)
LbmRepeatingAggComputer is an aggregate computer that wraps another aggregate computer. More...
Inheritance diagram for LbmRepeatingAggComputer:

| Public Member Functions | |
|---|---|
| LbmRepeatingAggComputer (AggComputer *pComputer) | |
| 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) |
| Clears an accumulator. | |
| virtual void | updateAccumulator (TupleDatum &accumulatorDatum, TupleData const &inputTuple) |
| Updates an accumulator with a new input tuple. | |
| virtual void | computeOutput (TupleDatum &outputDatum, TupleDatum const &accumulatorDatum) |
| Computes an output based on accumulator state. | |
| virtual void | initAccumulator (TupleDatum &accumulatorDatumDest, TupleData const &inputTuple) |
| Initializes a new accumulator datum from an input tuple. | |
| virtual void | initAccumulator (TupleDatum &accumulatorDatumSrc, TupleDatum &accumulatorDatumDest) |
| Initializes a new accumulator datum from an existing accumulator datum. | |
| virtual void | updateAccumulator (TupleDatum &accumulatorDatumSrc, TupleDatum &accumulatorDatumDest, TupleData const &inputTuple) |
| Computes a new accumulator from an existing accumulator dataum and a new input tuple. | |
| Static Public Member Functions | |
| static AggComputer * | newAggComputer (AggFunction aggFunction, TupleAttributeDescriptor const *pAttrDesc) |
| Virtual constructor. | |
| Protected Attributes | |
| int | iInputAttr |
| Private Attributes | |
| AggComputer * | pComputer |
Detailed Description
LbmRepeatingAggComputer is an aggregate computer that wraps another aggregate computer.
Its input is expected to be bitmap tuples. On an update, it counts bits from the segment data field (expected to be the last one) and applies the update multiple times, once for each bit set in the segment data field.
Definition at line 37 of file LbmSortedAggExecStream.cpp.
Constructor & Destructor Documentation
| LbmRepeatingAggComputer::LbmRepeatingAggComputer | ( | AggComputer * | pComputer | ) | [explicit] |
|---|
Member Function Documentation
| void LbmRepeatingAggComputer::setInputAttrIndex | ( | uint | iInputAttrIndex | ) | [virtual] |
|---|
| void LbmRepeatingAggComputer::clearAccumulator | ( | TupleDatum & | accumulatorDatum | ) | [virtual] |
|---|
| void LbmRepeatingAggComputer::updateAccumulator | ( | TupleDatum & | accumulatorDatum, |
|---|---|---|---|
| TupleData const & | inputTuple | ||
| ) | [virtual] |
| void LbmRepeatingAggComputer::computeOutput | ( | TupleDatum & | outputDatum, |
|---|---|---|---|
| TupleDatum const & | accumulatorDatum | ||
| ) | [virtual] |
| void LbmRepeatingAggComputer::initAccumulator | ( | TupleDatum & | accumulatorDatumDest, |
|---|---|---|---|
| TupleData const & | inputTuple | ||
| ) | [virtual] |
Initializes a new accumulator datum from an input tuple.
Parameters:
| accumulatorDatumDest | in-memory value to be updated. Memory needs to be associated with this datum by the caller. |
|---|---|
| inputTuple | source for update; no references to this data should be retained after this method returns |
Implements AggComputer.
Definition at line 111 of file LbmSortedAggExecStream.cpp.
00114 {
00115
00116 assert(false);
00117 }
| void LbmRepeatingAggComputer::initAccumulator | ( | TupleDatum & | accumulatorDatumSrc, |
|---|---|---|---|
| TupleDatum & | accumulatorDatumDest | ||
| ) | [virtual] |
Initializes a new accumulator datum from an existing accumulator datum.
Parameters:
| accumulatorDatumSrc | the existing accumulator datum |
|---|---|
| accumulatorDatumDest | the new accumulator datum. Memory needs to be associated with this datum by the caller. |
Implements AggComputer.
Definition at line 119 of file LbmSortedAggExecStream.cpp.
00122 {
00123
00124 assert(false);
00125 }
| void LbmRepeatingAggComputer::updateAccumulator | ( | TupleDatum & | accumulatorDatumSrc, |
|---|---|---|---|
| TupleDatum & | accumulatorDatumDest, | ||
| TupleData const & | inputTuple | ||
| ) | [virtual] |
Computes a new accumulator from an existing accumulator dataum and a new input tuple.
Parameters:
| accumulatorDatumSrc | the existing accumulator datum |
|---|---|
| accumulatorDatumDest | the new accumulator datum. memory needs to be associated with this datum by the caller. |
| inputTuple | source for update; no references to this data should be retained after this method returns |
Implements AggComputer.
Definition at line 127 of file LbmSortedAggExecStream.cpp.
00131 {
00132
00133 assert(false);
00134 }
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().
Member Data Documentation
The documentation for this class was generated from the following file:
- /home/pub/open/dev/fennel/lucidera/bitmap/LbmSortedAggExecStream.cpp
