mirror of
https://github.com/MariaDB/server.git
synced 2025-09-02 09:41:40 +03:00
Merge kaamos.(none):/data/src/opt/bug34512/my51
into kaamos.(none):/data/src/opt/mysql-5.1-opt
This commit is contained in:
@@ -1410,4 +1410,10 @@ Note 1003 select (`test`.`t1`.`a` + 1) AS `y` from `test`.`t1` group by (`test`.
|
|||||||
DROP VIEW v1;
|
DROP VIEW v1;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
SET SQL_MODE=DEFAULT;
|
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
|
End of 5.0 tests
|
||||||
|
@@ -923,5 +923,15 @@ DROP VIEW v1;
|
|||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
SET SQL_MODE=DEFAULT;
|
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
|
--echo End of 5.0 tests
|
||||||
|
@@ -1228,7 +1228,15 @@ my_decimal *Item_sum_avg::val_decimal(my_decimal *val)
|
|||||||
null_value=1;
|
null_value=1;
|
||||||
return NULL;
|
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);
|
int2my_decimal(E_DEC_FATAL_ERROR, count, 0, &cnt);
|
||||||
my_decimal_div(E_DEC_FATAL_ERROR, val, sum_dec, &cnt, prec_increment);
|
my_decimal_div(E_DEC_FATAL_ERROR, val, sum_dec, &cnt, prec_increment);
|
||||||
return val;
|
return val;
|
||||||
|
Reference in New Issue
Block a user