|
My Project
|
#include <item_sum.h>
Public Member Functions | |
| Aggregator_simple (Item_sum *sum) | |
| Aggregator_type | Aggrtype () |
| bool | setup (THD *thd) |
| void | clear () |
| bool | add () |
| void | endup () |
| virtual my_decimal * | arg_val_decimal (my_decimal *value) |
| virtual double | arg_val_real () |
| virtual bool | arg_is_null (bool use_null_value) |
The pass-through aggregator. Implements AGGFN (DISTINCT ..) by knowing it gets distinct data on input. So it just pumps them back to the Item_sum descendant class.
| bool Aggregator_simple::add | ( | ) | [inline, virtual] |
Called when there's a new value to be aggregated. Updates the internal state of the aggregator to reflect the new value.
Implements Aggregator.
| bool Aggregator_simple::arg_is_null | ( | bool | use_null_value | ) | [virtual] |
NULLness of being-aggregated argument.
| use_null_value | Optimization: to determine if the argument is NULL we must, in the general case, call is_null() on it, which itself might call val_*() on it, which might be costly. If you just have called arg_val*(), you can pass use_null_value=true; this way, arg_is_null() might avoid is_null() and instead do a cheap read of the Item's null_value (updated by arg_val*()). |
Implements Aggregator.
| my_decimal * Aggregator_simple::arg_val_decimal | ( | my_decimal * | value | ) | [virtual] |
Decimal value of being-aggregated argument
Implements Aggregator.
| double Aggregator_simple::arg_val_real | ( | ) | [virtual] |
Floating point value of being-aggregated argument
Implements Aggregator.
| void Aggregator_simple::clear | ( | ) | [inline, virtual] |
Called when we need to wipe out all the data from the aggregator : all the values acumulated and all the state. Cleans up the internal structures and resets them to their initial state.
Implements Aggregator.
| void Aggregator_simple::endup | ( | ) | [inline, virtual] |
Called when there are no more data and the final value is to be retrieved. Finalises the state of the aggregator, so the final result can be retrieved.
Implements Aggregator.
| bool Aggregator_simple::setup | ( | THD * | ) | [inline, virtual] |
Called before adding the first row. Allocates and sets up the internal aggregation structures used, e.g. the Unique instance used to calculate distinct.
Implements Aggregator.
1.7.6.1