Skip to content

Commit d9b25ae

Browse files
author
Alexander Barkov
committed
MDEV-8466 CAST works differently for DECIMAL/INT vs DOUBLE for empty strings
MDEV-8468 CAST and INSERT work differently for DECIMAL/INT vs DOUBLE for a string with trailing spaces
1 parent c69cf93 commit d9b25ae

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+2779
-390
lines changed

mysql-test/r/bug13633383.result

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,5 +49,66 @@ col435
4949
0.00000000000000000
5050
0.00000000000000000
5151
0.00000000000000000
52+
Warnings:
53+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00k\xBF\xC0\x00\x00\x00\x00\x00j\xF8@'
54+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x006\x0E\xFD\xB9PVh,;b\xC2\xBA\xF6$\xEE\xB0'
55+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xC0\xAE\xDB\xC0'
56+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00j\xF8@\x00\x00\x00\x00\x00\x00\x00\x00'
57+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00k\xBF\xC0\x00\x00\x00\x00\x00j\xF8@'
58+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x006\x0E\xFD\xB9PVh,;b\xC2\xBA\xF6$\xEE\xB0'
59+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xC0\xAE\xDB\xC0'
60+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00j\xF8@\x00\x00\x00\x00\x00\x00\x00\x00'
61+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00k\xBF\xC0\x00\x00\x00\x00\x00j\xF8@'
62+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x006\x0E\xFD\xB9PVh,;b\xC2\xBA\xF6$\xEE\xB0'
63+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xC0\xAE\xDB\xC0'
64+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00j\xF8@\x00\x00\x00\x00\x00\x00\x00\x00'
65+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00k\xBF\xC0\x00\x00\x00\x00\x00j\xF8@'
66+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x006\x0E\xFD\xB9PVh,;b\xC2\xBA\xF6$\xEE\xB0'
67+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xC0\xAE\xDB\xC0'
68+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00j\xF8@\x00\x00\x00\x00\x00\x00\x00\x00'
69+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00k\xBF\xC0\x00\x00\x00\x00\x00j\xF8@'
70+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x006\x0E\xFD\xB9PVh,;b\xC2\xBA\xF6$\xEE\xB0'
71+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xC0\xAE\xDB\xC0'
72+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00j\xF8@\x00\x00\x00\x00\x00\x00\x00\x00'
73+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00k\xBF\xC0\x00\x00\x00\x00\x00j\xF8@'
74+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x006\x0E\xFD\xB9PVh,;b\xC2\xBA\xF6$\xEE\xB0'
75+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xC0\xAE\xDB\xC0'
76+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00j\xF8@\x00\x00\x00\x00\x00\x00\x00\x00'
77+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00k\xBF\xC0\x00\x00\x00\x00\x00j\xF8@'
78+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x006\x0E\xFD\xB9PVh,;b\xC2\xBA\xF6$\xEE\xB0'
79+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xC0\xAE\xDB\xC0'
80+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00j\xF8@\x00\x00\x00\x00\x00\x00\x00\x00'
81+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00k\xBF\xC0\x00\x00\x00\x00\x00j\xF8@'
82+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x006\x0E\xFD\xB9PVh,;b\xC2\xBA\xF6$\xEE\xB0'
83+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xC0\xAE\xDB\xC0'
84+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00j\xF8@\x00\x00\x00\x00\x00\x00\x00\x00'
85+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00k\xBF\xC0\x00\x00\x00\x00\x00j\xF8@'
86+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x006\x0E\xFD\xB9PVh,;b\xC2\xBA\xF6$\xEE\xB0'
87+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xC0\xAE\xDB\xC0'
88+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00j\xF8@\x00\x00\x00\x00\x00\x00\x00\x00'
89+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00k\xBF\xC0\x00\x00\x00\x00\x00j\xF8@'
90+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x006\x0E\xFD\xB9PVh,;b\xC2\xBA\xF6$\xEE\xB0'
91+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xC0\xAE\xDB\xC0'
92+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00j\xF8@\x00\x00\x00\x00\x00\x00\x00\x00'
93+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00k\xBF\xC0\x00\x00\x00\x00\x00j\xF8@'
94+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x006\x0E\xFD\xB9PVh,;b\xC2\xBA\xF6$\xEE\xB0'
95+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xC0\xAE\xDB\xC0'
96+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00j\xF8@\x00\x00\x00\x00\x00\x00\x00\x00'
97+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00k\xBF\xC0\x00\x00\x00\x00\x00j\xF8@'
98+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x006\x0E\xFD\xB9PVh,;b\xC2\xBA\xF6$\xEE\xB0'
99+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xC0\xAE\xDB\xC0'
100+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00j\xF8@\x00\x00\x00\x00\x00\x00\x00\x00'
101+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00k\xBF\xC0\x00\x00\x00\x00\x00j\xF8@'
102+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x006\x0E\xFD\xB9PVh,;b\xC2\xBA\xF6$\xEE\xB0'
103+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xC0\xAE\xDB\xC0'
104+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00j\xF8@\x00\x00\x00\x00\x00\x00\x00\x00'
105+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00k\xBF\xC0\x00\x00\x00\x00\x00j\xF8@'
106+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x006\x0E\xFD\xB9PVh,;b\xC2\xBA\xF6$\xEE\xB0'
107+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xC0\xAE\xDB\xC0'
108+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00j\xF8@\x00\x00\x00\x00\x00\x00\x00\x00'
109+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00k\xBF\xC0\x00\x00\x00\x00\x00j\xF8@'
110+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x006\x0E\xFD\xB9PVh,;b\xC2\xBA\xF6$\xEE\xB0'
111+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xC0\xAE\xDB\xC0'
112+
Warning 1292 Truncated incorrect DOUBLE value: '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00j\xF8@\x00\x00\x00\x00\x00\x00\x00\x00'
52113
set session sort_buffer_size= default;
53114
DROP TABLE t1, t2, t3;

mysql-test/r/cast.result

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ select CAST('10 ' as unsigned integer);
1313
CAST('10 ' as unsigned integer)
1414
10
1515
Warnings:
16-
Warning 1292 Truncated incorrect INTEGER value: '10 '
16+
Note 1292 Truncated incorrect INTEGER value: '10 '
1717
select cast(-5 as unsigned) | 1, cast(-5 as unsigned) & -1;
1818
cast(-5 as unsigned) | 1 cast(-5 as unsigned) & -1
1919
18446744073709551611 18446744073709551611

mysql-test/r/ctype_cp1251.result

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3345,12 +3345,18 @@ INSERT INTO t1 VALUES (' 1'),('`1');
33453345
SELECT * FROM t1 WHERE a IN (1,2,3);
33463346
a
33473347
1
3348+
Warnings:
3349+
Warning 1292 Truncated incorrect DOUBLE value: '`1'
33483350
SELECT * FROM t1 WHERE a IN (1,2,3) AND a=' 1';
33493351
a
33503352
1
3353+
Warnings:
3354+
Warning 1292 Truncated incorrect DOUBLE value: '`1'
33513355
SELECT * FROM t1 WHERE a IN (1,2,3,'4') AND a=' 1';
33523356
a
33533357
1
3358+
Warnings:
3359+
Warning 1292 Truncated incorrect DOUBLE value: '`1'
33543360
EXPLAIN EXTENDED SELECT * FROM t1 WHERE a IN (1,2,3) AND a=' 1';
33553361
id select_type table type possible_keys key key_len ref rows filtered Extra
33563362
1 SIMPLE t1 ALL NULL NULL NULL NULL 2 100.00 Using where

mysql-test/r/ctype_many.result

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1694,6 +1694,7 @@ DO CONVERT(CAST(SUBSTRING_INDEX(FORMAT(1,'1111'), FORMAT('','Zpq'),1)
16941694
AS BINARY(0)) USING utf8);
16951695
Warnings:
16961696
Warning 1292 Truncated incorrect INTEGER value: 'Zpq'
1697+
Warning 1292 Truncated incorrect DOUBLE value: ''
16971698
Warning 1292 Truncated incorrect BINARY(0) value: '1.'
16981699
#
16991700
# End of 5.1 tests

mysql-test/r/ctype_ucs.result

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5340,7 +5340,7 @@ Warning 1292 Truncated incorrect INTEGER value: ''
53405340
CREATE TABLE t1 (a DECIMAL(2,0));
53415341
SET sql_mode='strict_all_tables';
53425342
INSERT INTO t1 VALUES (CONVERT('9e99999999' USING ucs2));
5343-
ERROR 22007: Incorrect decimal value: '9e99999999' for column 'a' at row 1
5343+
ERROR 22003: Out of range value for column 'a' at row 1
53445344
SET sql_mode=DEFAULT;
53455345
INSERT INTO t1 VALUES (CONVERT('aaa' USING ucs2));
53465346
Warnings:

mysql-test/r/ctype_utf16.result

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1254,6 +1254,8 @@ insert into t1 values ('-1234.1e2xxxx');
12541254
Warnings:
12551255
Warning 1265 Data truncated for column 'a' at row 1
12561256
insert into t1 values ('-1234.1e2 ');
1257+
Warnings:
1258+
Note 1265 Data truncated for column 'a' at row 1
12571259
select * from t1;
12581260
a
12591261
-123410
@@ -1262,6 +1264,8 @@ a
12621264
drop table t1;
12631265
create table t1 (a int);
12641266
insert into t1 values ('1 ');
1267+
Warnings:
1268+
Note 1265 Data truncated for column 'a' at row 1
12651269
insert into t1 values ('1 x');
12661270
Warnings:
12671271
Warning 1265 Data truncated for column 'a' at row 1

mysql-test/r/ctype_utf16le.result

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1474,6 +1474,8 @@ INSERT INTO t1 VALUES ('-1234.1e2xxxx');
14741474
Warnings:
14751475
Warning 1265 Data truncated for column 'a' at row 1
14761476
INSERT INTO t1 VALUES ('-1234.1e2 ');
1477+
Warnings:
1478+
Note 1265 Data truncated for column 'a' at row 1
14771479
INSERT INTO t1 VALUES ('123');
14781480
INSERT INTO t1 VALUES ('-124');
14791481
INSERT INTO t1 VALUES ('+125');
@@ -1520,6 +1522,8 @@ DROP TABLE t1;
15201522
#
15211523
CREATE TABLE t1 (a int);
15221524
INSERT INTO t1 VALUES ('1 ');
1525+
Warnings:
1526+
Note 1265 Data truncated for column 'a' at row 1
15231527
INSERT INTO t1 VALUES ('1 x');
15241528
Warnings:
15251529
Warning 1265 Data truncated for column 'a' at row 1

mysql-test/r/ctype_utf32.result

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1252,6 +1252,8 @@ insert into t1 values ('-1234.1e2xxxx');
12521252
Warnings:
12531253
Warning 1265 Data truncated for column 'a' at row 1
12541254
insert into t1 values ('-1234.1e2 ');
1255+
Warnings:
1256+
Note 1265 Data truncated for column 'a' at row 1
12551257
select * from t1;
12561258
a
12571259
-123410
@@ -1260,6 +1262,8 @@ a
12601262
drop table t1;
12611263
create table t1 (a int);
12621264
insert into t1 values ('1 ');
1265+
Warnings:
1266+
Note 1265 Data truncated for column 'a' at row 1
12631267
insert into t1 values ('1 x');
12641268
Warnings:
12651269
Warning 1265 Data truncated for column 'a' at row 1

mysql-test/r/ctype_utf8.result

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10174,12 +10174,18 @@ INSERT INTO t1 VALUES ('1e1'),('1ë1');
1017410174
SELECT * FROM t1 WHERE a IN (1,2);
1017510175
a
1017610176
1ë1
10177+
Warnings:
10178+
Warning 1292 Truncated incorrect DOUBLE value: '1ë1'
1017710179
SELECT * FROM t1 WHERE a IN (1,2) AND a='1ë1';
1017810180
a
1017910181
1ë1
10182+
Warnings:
10183+
Warning 1292 Truncated incorrect DOUBLE value: '1ë1'
1018010184
SELECT * FROM t1 WHERE a IN (1,2,'x') AND a='1ë1';
1018110185
a
1018210186
1ë1
10187+
Warnings:
10188+
Warning 1292 Truncated incorrect DOUBLE value: '1ë1'
1018310189
EXPLAIN EXTENDED SELECT * FROM t1 WHERE a IN (1,2) AND a='1ë1';
1018410190
id select_type table type possible_keys key key_len ref rows filtered Extra
1018510191
1 SIMPLE t1 ALL NULL NULL NULL NULL 2 100.00 Using where

mysql-test/r/func_compress.result

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,9 @@ set @@global.max_allowed_packet=1048576*100;
7373
select compress(repeat('aaaaaaaaaa', IF(XXX, 10, 10000000))) is null;
7474
compress(repeat('aaaaaaaaaa', IF(XXX, 10, 10000000))) is null
7575
0
76+
Warnings:
77+
Warning 1292 Truncated incorrect DOUBLE value: XXX
78+
Warning 1292 Truncated incorrect DOUBLE value: XXX
7679
set @@global.max_allowed_packet=default;
7780
create table t1(a blob);
7881
insert into t1 values(NULL), (compress('a'));

0 commit comments

Comments
 (0)