mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MDEV-20548 Unexpected error on CREATE..SELECT HEX(num)
Item_func_hex::fix_length_and_dec() evaluated a too short data type for signed numeric arguments, which resulted in a 'Data too long for column' error on CREATE..SELECT. Fixing the code to take into account that a short negative numer can produce a long HEX value: -1 -> 'FFFFFFFFFFFFFFFF' Also fixing Item_func_hex::val_str_ascii_from_val_real(). Without this change, MTR test with HEX with negative float point arguments failed on some platforms (aarch64, ppc64le, s390-x).
This commit is contained in:
@ -748,7 +748,7 @@ t1 CREATE TABLE `t1` (
|
||||
`bin(130)` varchar(64) DEFAULT NULL,
|
||||
`oct(130)` varchar(64) DEFAULT NULL,
|
||||
`conv(130,16,10)` varchar(64) DEFAULT NULL,
|
||||
`hex(130)` varchar(6) DEFAULT NULL,
|
||||
`hex(130)` varchar(16) DEFAULT NULL,
|
||||
`char(130)` varbinary(4) DEFAULT NULL,
|
||||
`format(130,10)` varchar(25) DEFAULT NULL,
|
||||
`left(_latin2'a',1)` varchar(1) CHARACTER SET latin2 COLLATE latin2_general_ci DEFAULT NULL,
|
||||
|
Reference in New Issue
Block a user