mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
Merge kaamos.(none):/data/src/opt/bug34512/my51
into kaamos.(none):/data/src/opt/mysql-5.1-opt
This commit is contained in:
commit
cf68ce0fbf
3 changed files with 25 additions and 1 deletions
|
@ -1410,4 +1410,10 @@ Note 1003 select (`test`.`t1`.`a` + 1) AS `y` from `test`.`t1` group by (`test`.
|
|||
DROP VIEW v1;
|
||||
DROP TABLE t1;
|
||||
SET SQL_MODE=DEFAULT;
|
||||
CREATE TABLE t1(a DOUBLE);
|
||||
INSERT INTO t1 VALUES (10), (20);
|
||||
SELECT AVG(a), CAST(AVG(a) AS DECIMAL) FROM t1;
|
||||
AVG(a) CAST(AVG(a) AS DECIMAL)
|
||||
15 15
|
||||
DROP TABLE t1;
|
||||
End of 5.0 tests
|
||||
|
|
|
@ -923,5 +923,15 @@ DROP VIEW v1;
|
|||
DROP TABLE t1;
|
||||
SET SQL_MODE=DEFAULT;
|
||||
|
||||
#
|
||||
# Bug #34512: CAST( AVG( double ) AS DECIMAL ) returns wrong results
|
||||
#
|
||||
|
||||
CREATE TABLE t1(a DOUBLE);
|
||||
INSERT INTO t1 VALUES (10), (20);
|
||||
SELECT AVG(a), CAST(AVG(a) AS DECIMAL) FROM t1;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
###
|
||||
--echo End of 5.0 tests
|
||||
|
|
|
@ -1228,7 +1228,15 @@ my_decimal *Item_sum_avg::val_decimal(my_decimal *val)
|
|||
null_value=1;
|
||||
return NULL;
|
||||
}
|
||||
sum_dec= Item_sum_sum::val_decimal(&sum_buff);
|
||||
|
||||
/*
|
||||
For non-DECIMAL hybrid_type the division will be done in
|
||||
Item_sum_avg::val_real().
|
||||
*/
|
||||
if (hybrid_type != DECIMAL_RESULT)
|
||||
return val_decimal_from_real(val);
|
||||
|
||||
sum_dec= dec_buffs + curr_dec_buff;
|
||||
int2my_decimal(E_DEC_FATAL_ERROR, count, 0, &cnt);
|
||||
my_decimal_div(E_DEC_FATAL_ERROR, val, sum_dec, &cnt, prec_increment);
|
||||
return val;
|
||||
|
|
Loading…
Reference in a new issue