From bdc03e0579cc5b7fbf07928eeace72a4715cdf52 Mon Sep 17 00:00:00 2001 From: Alexander Barkov Date: Thu, 22 Oct 2015 08:11:31 +0400 Subject: MDEV-7195 AVG() loses precision in INT context The fix for MDEV-8918 previously fixed the problem reported in MDEV-7195. Adding a test case from MDEV-7195 only. --- mysql-test/t/func_group.test | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'mysql-test/t/func_group.test') diff --git a/mysql-test/t/func_group.test b/mysql-test/t/func_group.test index 9fedfa8bc72..b5270743465 100644 --- a/mysql-test/t/func_group.test +++ b/mysql-test/t/func_group.test @@ -1593,6 +1593,21 @@ INSERT INTO t1 VALUES (0x7FFFFFFFFFFFFFFF); SELECT MIN(a), SUM(a), CAST(SUM(a) AS SIGNED), CAST(AVG(a) AS SIGNED) FROM t1; DROP TABLE t1; +--echo # +--echo # MDEV-7195 AVG() loses precision in INT context +--echo # +CREATE TABLE t1 ( + auto SERIAL, + fld1 bigint unsigned NOT NULL, + companynr tinyint(2) unsigned zerofill DEFAULT '00' NOT NULL, + UNIQUE fld1 (fld1) +); +INSERT INTO t1 VALUES (1,0x7FFFFFFFFFFFFFFF,00); +INSERT INTO t1 VALUES (2,0x7FFFFFFFFFFFFFFE,37); +INSERT INTO t1 VALUES (3,0x7FFFFFFFFFFFFFFC,37); +SELECT companynr, AVG(fld1), AVG(fld1)<<0 AS avg1, CAST(AVG(fld1) AS UNSIGNED)<<0 AS avg2 FROM t1 GROUP BY companynr; +DROP TABLE t1; + --echo # --echo # End of 10.1 tests --echo # -- cgit v1.2.1