Skip to content

Commit

Permalink
Additional tests for MDEV-10309 COALESCE(12345678900) makes a column …
Browse files Browse the repository at this point in the history
…of a wrong type and truncates the data
  • Loading branch information
Alexander Barkov committed Jun 19, 2017
1 parent 43eec57 commit 578d8bf
Show file tree
Hide file tree
Showing 2 changed files with 183 additions and 0 deletions.
147 changes: 147 additions & 0 deletions mysql-test/r/func_hybrid_type.result
Original file line number Diff line number Diff line change
Expand Up @@ -3570,6 +3570,153 @@ t1 CREATE TABLE `t1` (
`c2` bigint(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
CREATE TABLE t1 AS SELECT
9 AS i1, COALESCE(9) AS c1,
99 AS i2, COALESCE(99) AS c2,
999 AS i3, COALESCE(999) AS c3,
9999 AS i4, COALESCE(9999) AS c4,
99999 AS i5, COALESCE(99999) AS c5,
999999 AS i6, COALESCE(999999) AS c6,
9999999 AS i7, COALESCE(9999999) AS c7,
99999999 AS i8, COALESCE(99999999) AS c8,
999999999 AS i9, COALESCE(999999999) AS c9,
2147483647, COALESCE(2147483647),
2147483648, COALESCE(2147483648),
9999999999 AS i10, COALESCE(9999999999) AS c10,
99999999999 AS i11, COALESCE(99999999999) AS c11,
999999999999 AS i12, COALESCE(999999999999) AS c12,
9999999999999 AS i13, COALESCE(9999999999999) AS c13,
99999999999999 AS i14, COALESCE(99999999999999) AS c14,
999999999999999 AS i15, COALESCE(999999999999999) AS c15,
9999999999999999 AS i16, COALESCE(9999999999999999) AS c16,
99999999999999999 AS i17, COALESCE(99999999999999999) AS c17,
999999999999999999 AS i18, COALESCE(999999999999999999) AS c18,
9223372036854775807, COALESCE(9223372036854775807),
9223372036854775808, COALESCE(9223372036854775808),
9999999999999999999 AS i19, COALESCE(9999999999999999999) AS c19,
18446744073709551615, COALESCE(18446744073709551615),
18446744073709551616, COALESCE(18446744073709551616),
99999999999999999999 AS i20, COALESCE(99999999999999999999) AS c20,
999999999999999999999 AS i21, COALESCE(999999999999999999999) AS c21,
9999999999999999999999 AS i22, COALESCE(9999999999999999999999) AS c22;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`i1` int(1) NOT NULL,
`c1` int(1) NOT NULL,
`i2` int(2) NOT NULL,
`c2` int(2) NOT NULL,
`i3` int(3) NOT NULL,
`c3` int(3) NOT NULL,
`i4` int(4) NOT NULL,
`c4` int(4) NOT NULL,
`i5` int(5) NOT NULL,
`c5` int(5) NOT NULL,
`i6` int(6) NOT NULL,
`c6` int(6) NOT NULL,
`i7` int(7) NOT NULL,
`c7` int(7) NOT NULL,
`i8` int(8) NOT NULL,
`c8` int(8) NOT NULL,
`i9` int(9) NOT NULL,
`c9` int(9) NOT NULL,
`2147483647` bigint(10) NOT NULL,
`COALESCE(2147483647)` bigint(10) NOT NULL,
`2147483648` bigint(10) NOT NULL,
`COALESCE(2147483648)` bigint(10) NOT NULL,
`i10` bigint(10) NOT NULL,
`c10` bigint(10) NOT NULL,
`i11` bigint(11) NOT NULL,
`c11` bigint(11) NOT NULL,
`i12` bigint(12) NOT NULL,
`c12` bigint(12) NOT NULL,
`i13` bigint(13) NOT NULL,
`c13` bigint(13) NOT NULL,
`i14` bigint(14) NOT NULL,
`c14` bigint(14) NOT NULL,
`i15` bigint(15) NOT NULL,
`c15` bigint(15) NOT NULL,
`i16` bigint(16) NOT NULL,
`c16` bigint(16) NOT NULL,
`i17` bigint(17) NOT NULL,
`c17` bigint(17) NOT NULL,
`i18` bigint(18) NOT NULL,
`c18` bigint(18) NOT NULL,
`9223372036854775807` bigint(19) NOT NULL,
`COALESCE(9223372036854775807)` bigint(19) NOT NULL,
`9223372036854775808` bigint(19) unsigned NOT NULL,
`COALESCE(9223372036854775808)` bigint(19) unsigned NOT NULL,
`i19` bigint(19) unsigned NOT NULL,
`c19` bigint(19) unsigned NOT NULL,
`18446744073709551615` bigint(20) unsigned NOT NULL,
`COALESCE(18446744073709551615)` bigint(20) unsigned NOT NULL,
`18446744073709551616` decimal(20,0) NOT NULL,
`COALESCE(18446744073709551616)` decimal(20,0) NOT NULL,
`i20` decimal(20,0) NOT NULL,
`c20` decimal(20,0) NOT NULL,
`i21` decimal(21,0) NOT NULL,
`c21` decimal(21,0) NOT NULL,
`i22` decimal(22,0) NOT NULL,
`c22` decimal(22,0) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT * FROM t1;
i1 9
c1 9
i2 99
c2 99
i3 999
c3 999
i4 9999
c4 9999
i5 99999
c5 99999
i6 999999
c6 999999
i7 9999999
c7 9999999
i8 99999999
c8 99999999
i9 999999999
c9 999999999
2147483647 2147483647
COALESCE(2147483647) 2147483647
2147483648 2147483648
COALESCE(2147483648) 2147483648
i10 9999999999
c10 9999999999
i11 99999999999
c11 99999999999
i12 999999999999
c12 999999999999
i13 9999999999999
c13 9999999999999
i14 99999999999999
c14 99999999999999
i15 999999999999999
c15 999999999999999
i16 9999999999999999
c16 9999999999999999
i17 99999999999999999
c17 99999999999999999
i18 999999999999999999
c18 999999999999999999
9223372036854775807 9223372036854775807
COALESCE(9223372036854775807) 9223372036854775807
9223372036854775808 9223372036854775808
COALESCE(9223372036854775808) 9223372036854775808
i19 9999999999999999999
c19 9999999999999999999
18446744073709551615 18446744073709551615
COALESCE(18446744073709551615) 18446744073709551615
18446744073709551616 18446744073709551616
COALESCE(18446744073709551616) 18446744073709551616
i20 99999999999999999999
c20 99999999999999999999
i21 999999999999999999999
c21 999999999999999999999
i22 9999999999999999999999
c22 9999999999999999999999
DROP TABLE t1;
#
# MDEV-9406 CREATE TABLE..SELECT creates different columns for IFNULL() and equivalent COALESCE,CASE,IF
#
Expand Down
36 changes: 36 additions & 0 deletions mysql-test/t/func_hybrid_type.test
Original file line number Diff line number Diff line change
Expand Up @@ -553,6 +553,42 @@ SELECT * FROM t1;
SHOW CREATE TABLE t1;
DROP TABLE t1;

CREATE TABLE t1 AS SELECT
9 AS i1, COALESCE(9) AS c1,
99 AS i2, COALESCE(99) AS c2,
999 AS i3, COALESCE(999) AS c3,
9999 AS i4, COALESCE(9999) AS c4,
99999 AS i5, COALESCE(99999) AS c5,
999999 AS i6, COALESCE(999999) AS c6,
9999999 AS i7, COALESCE(9999999) AS c7,
99999999 AS i8, COALESCE(99999999) AS c8,
999999999 AS i9, COALESCE(999999999) AS c9,
2147483647, COALESCE(2147483647),
2147483648, COALESCE(2147483648),
9999999999 AS i10, COALESCE(9999999999) AS c10,
99999999999 AS i11, COALESCE(99999999999) AS c11,
999999999999 AS i12, COALESCE(999999999999) AS c12,
9999999999999 AS i13, COALESCE(9999999999999) AS c13,
99999999999999 AS i14, COALESCE(99999999999999) AS c14,
999999999999999 AS i15, COALESCE(999999999999999) AS c15,
9999999999999999 AS i16, COALESCE(9999999999999999) AS c16,
99999999999999999 AS i17, COALESCE(99999999999999999) AS c17,
999999999999999999 AS i18, COALESCE(999999999999999999) AS c18,
9223372036854775807, COALESCE(9223372036854775807),
9223372036854775808, COALESCE(9223372036854775808),
9999999999999999999 AS i19, COALESCE(9999999999999999999) AS c19,
18446744073709551615, COALESCE(18446744073709551615),
18446744073709551616, COALESCE(18446744073709551616),
99999999999999999999 AS i20, COALESCE(99999999999999999999) AS c20,
999999999999999999999 AS i21, COALESCE(999999999999999999999) AS c21,
9999999999999999999999 AS i22, COALESCE(9999999999999999999999) AS c22;
SHOW CREATE TABLE t1;
--vertical_results
SELECT * FROM t1;
--horizontal_results
DROP TABLE t1;


--echo #
--echo # MDEV-9406 CREATE TABLE..SELECT creates different columns for IFNULL() and equivalent COALESCE,CASE,IF
--echo #
Expand Down

0 comments on commit 578d8bf

Please sign in to comment.