summaryrefslogtreecommitdiff
path: root/sql/item_sum.h
diff options
context:
space:
mode:
authorunknown <svoj@mysql.com>2005-02-25 22:19:04 +0400
committerunknown <svoj@mysql.com>2005-02-25 22:19:04 +0400
commit654de7dff81ad60483ad73577d165c118b37f420 (patch)
treedacd1c6c90c80b374fbffd31ffd2a7caed5943fa /sql/item_sum.h
parent476c7549fa022e3f0b20547d66997f2b68977b7a (diff)
downloadmariadb-git-654de7dff81ad60483ad73577d165c118b37f420.tar.gz
BUG#3190 fix (request for STDDEV_SAMP, VAR_SAMP).
This bug is also known as WL#1639. mysql-test/r/func_group.result: Test case for stddev_pop, var_pop, stddev_samp, var_samp was added. mysql-test/t/func_group.test: Test case for stddev_pop, var_pop, stddev_samp, var_samp was added. sql/item_sum.cc: New functions stddev_samp and var_samp were added. sql/item_sum.h: New functions stddev_samp and var_samp were added. sql/lex.h: New functions stddev_pop, var_pop, stddev_samp and var_samp were added. sql/sql_yacc.yy: New functions stddev_pop, var_pop, stddev_samp and var_samp were added.
Diffstat (limited to 'sql/item_sum.h')
-rw-r--r--sql/item_sum.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/sql/item_sum.h b/sql/item_sum.h
index eca2ae188db..bc770553dec 100644
--- a/sql/item_sum.h
+++ b/sql/item_sum.h
@@ -379,6 +379,7 @@ public:
uint f_precision0, f_scale0;
uint f_precision1, f_scale1;
uint dec_bin_size0, dec_bin_size1;
+ uint sample;
Item_variance_field(Item_sum_variance *item);
enum Type type() const {return FIELD_VARIANCE_ITEM; }
double val_real();
@@ -422,9 +423,10 @@ public:
uint f_precision0, f_scale0;
uint f_precision1, f_scale1;
uint dec_bin_size0, dec_bin_size1;
+ uint sample;
- Item_sum_variance(Item *item_par) :Item_sum_num(item_par), hybrid_type(REAL_RESULT),
- cur_dec(0),count(0)
+ Item_sum_variance(Item *item_par, uint sample_arg) :Item_sum_num(item_par),
+ hybrid_type(REAL_RESULT), cur_dec(0), count(0), sample(sample_arg)
{}
Item_sum_variance(THD *thd, Item_sum_variance *item);
enum Sumfunctype sum_func () const { return VARIANCE_FUNC; }
@@ -463,7 +465,8 @@ public:
class Item_sum_std :public Item_sum_variance
{
public:
- Item_sum_std(Item *item_par) :Item_sum_variance(item_par) {}
+ Item_sum_std(Item *item_par, uint sample_arg)
+ :Item_sum_variance(item_par, sample_arg) {}
Item_sum_std(THD *thd, Item_sum_std *item)
:Item_sum_variance(thd, item)
{}