From e1cbca185139eed0ba3cf47807967b25f5a76ea1 Mon Sep 17 00:00:00 2001 From: Alexander Barkov Date: Thu, 1 Oct 2015 14:21:12 +0400 Subject: [PATCH] MDEV-657 LP:873142 - GREATEST() does not always return same signness of argument types. The patch for MDEV-8871 also fixed the problem reported in MDEV-657. Adding the test case from the bug report. --- mysql-test/r/func_hybrid_type.result | 10 ++++++++++ mysql-test/t/func_hybrid_type.test | 9 +++++++++ 2 files changed, 19 insertions(+) diff --git a/mysql-test/r/func_hybrid_type.result b/mysql-test/r/func_hybrid_type.result index a8cd4ca4429..2412dd9978f 100644 --- a/mysql-test/r/func_hybrid_type.result +++ b/mysql-test/r/func_hybrid_type.result @@ -2307,5 +2307,15 @@ t1 CREATE TABLE `t1` ( ) ENGINE=MyISAM DEFAULT CHARSET=latin1 DROP TABLE t1; # +# MDEV-657 LP:873142 - GREATEST() does not always return same signness of argument types +# +CREATE TABLE t1 (a BIGINT(20) UNSIGNED NOT NULL PRIMARY KEY); +INSERT INTO t1 (a) VALUES (13836376518955650385) ON DUPLICATE KEY UPDATE a=GREATEST(a,VALUES(a)); +INSERT INTO t1 (a) VALUES (13836376518955650385) ON DUPLICATE KEY UPDATE a=GREATEST(a,VALUES(a)); +SELECT * FROM t1; +a +13836376518955650385 +DROP TABLE t1; +# # End of 10.1 tests # diff --git a/mysql-test/t/func_hybrid_type.test b/mysql-test/t/func_hybrid_type.test index 5cd0c6ecade..f64b87ea3f8 100644 --- a/mysql-test/t/func_hybrid_type.test +++ b/mysql-test/t/func_hybrid_type.test @@ -102,6 +102,15 @@ CREATE TABLE t1 AS SELECT LEAST(1.0,'10'); SHOW CREATE TABLE t1; DROP TABLE t1; +--echo # +--echo # MDEV-657 LP:873142 - GREATEST() does not always return same signness of argument types +--echo # +CREATE TABLE t1 (a BIGINT(20) UNSIGNED NOT NULL PRIMARY KEY); +INSERT INTO t1 (a) VALUES (13836376518955650385) ON DUPLICATE KEY UPDATE a=GREATEST(a,VALUES(a)); +INSERT INTO t1 (a) VALUES (13836376518955650385) ON DUPLICATE KEY UPDATE a=GREATEST(a,VALUES(a)); +SELECT * FROM t1; +DROP TABLE t1; + --echo # --echo # End of 10.1 tests --echo #