diff options
author | unknown <ramil/ram@mysql.com/myoffice.izhnet.ru> | 2006-07-23 12:58:26 +0500 |
---|---|---|
committer | unknown <ramil/ram@mysql.com/myoffice.izhnet.ru> | 2006-07-23 12:58:26 +0500 |
commit | 774300afe4d8a9f2f39f9a9a75e5f03cd9366262 (patch) | |
tree | 08fa09f5252fbbbbd7c9f4cc92b6b37c3ecbceca | |
parent | 7c7949b05b8e5482bae6967f5bf2de78934dbbef (diff) | |
parent | 4e846a3d274357de741aa8c53f6eeba04aa00fc9 (diff) | |
download | mariadb-git-774300afe4d8a9f2f39f9a9a75e5f03cd9366262.tar.gz |
Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into mysql.com:/usr/home/ram/work/5.0.b10966
mysql-test/r/func_group.result:
Auto merged
mysql-test/t/func_group.test:
Auto merged
sql/item_sum.cc:
Auto merged
sql/item_sum.h:
Auto merged
-rw-r--r-- | mysql-test/r/func_group.result | 14 | ||||
-rw-r--r-- | mysql-test/t/func_group.test | 11 | ||||
-rw-r--r-- | sql/item_sum.cc | 3 | ||||
-rw-r--r-- | sql/item_sum.h | 2 |
4 files changed, 26 insertions, 4 deletions
diff --git a/mysql-test/r/func_group.result b/mysql-test/r/func_group.result index f693c6190d5..dae856c4845 100644 --- a/mysql-test/r/func_group.result +++ b/mysql-test/r/func_group.result @@ -988,3 +988,17 @@ SUM(a) 6 DROP TABLE t1; set div_precision_increment= @sav_dpi; +create table t1 select variance(0); +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `variance(0)` double(8,4) default NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +drop table t1; +create table t1 select stddev(0); +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `stddev(0)` double(8,4) default NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +drop table t1; diff --git a/mysql-test/t/func_group.test b/mysql-test/t/func_group.test index e8c5fa18a25..ff8f7eb2d72 100644 --- a/mysql-test/t/func_group.test +++ b/mysql-test/t/func_group.test @@ -660,3 +660,14 @@ SELECT SUM(a) FROM t1 GROUP BY b/c; DROP TABLE t1; set div_precision_increment= @sav_dpi; +# +# Bug #10966: Variance functions return wrong data type +# + +create table t1 select variance(0); +show create table t1; +drop table t1; +create table t1 select stddev(0); +show create table t1; +drop table t1; +
\ No newline at end of file diff --git a/sql/item_sum.cc b/sql/item_sum.cc index 4d70debb966..898ea28985b 100644 --- a/sql/item_sum.cc +++ b/sql/item_sum.cc @@ -1256,9 +1256,6 @@ Field *Item_sum_variance::create_tmp_field(bool group, TABLE *table, sizeof(double)*2) + sizeof(longlong), 0, name, table, &my_charset_bin); } - if (hybrid_type == DECIMAL_RESULT) - return new Field_new_decimal(max_length, maybe_null, name, table, - decimals, unsigned_flag); return new Field_double(max_length, maybe_null,name,table,decimals); } diff --git a/sql/item_sum.h b/sql/item_sum.h index f4ff257aa4e..f1ea95214de 100644 --- a/sql/item_sum.h +++ b/sql/item_sum.h @@ -688,7 +688,7 @@ public: { return sample ? "var_samp(" : "variance("; } Item *copy_or_same(THD* thd); Field *create_tmp_field(bool group, TABLE *table, uint convert_blob_length); - enum Item_result result_type () const { return hybrid_type; } + enum Item_result result_type () const { return REAL_RESULT; } }; class Item_sum_std; |