Skip to content

Commit 3cc6e5b

Browse files
author
Alexander Barkov
committed
MDEV-8852 Implicit or explicit CAST from MAX(string) to INT,DOUBLE,DECIMAL does not produce warnings
1 parent 54db387 commit 3cc6e5b

16 files changed

+95
-17
lines changed

mysql-test/r/func_group.result

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2273,3 +2273,13 @@ t2_id GROUP_CONCAT(IF (t6.b, t6.f, t5.f) ORDER BY 1)
22732273
EXECUTE stmt;
22742274
t2_id GROUP_CONCAT(IF (t6.b, t6.f, t5.f) ORDER BY 1)
22752275
DROP TABLE t1,t2,t3,t4,t5,t6;
2276+
#
2277+
# MDEV-8852 Implicit or explicit CAST from MAX(string) to INT,DOUBLE,DECIMAL does not produce warnings
2278+
#
2279+
SELECT MAX('x') << 1, CAST(MAX('x') AS DOUBLE), CAST(MAX('x') AS DECIMAL);
2280+
MAX('x') << 1 CAST(MAX('x') AS DOUBLE) CAST(MAX('x') AS DECIMAL)
2281+
0 0 0
2282+
Warnings:
2283+
Warning 1292 Truncated incorrect INTEGER value: 'x'
2284+
Warning 1292 Truncated incorrect DOUBLE value: 'x'
2285+
Warning 1292 Truncated incorrect DECIMAL value: 'x'

mysql-test/r/func_time.result

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1718,13 +1718,17 @@ Warnings:
17181718
Warning 1292 Truncated incorrect INTEGER value: '%Z'
17191719
Warning 1292 Truncated incorrect DOUBLE value: ''
17201720
Warning 1292 Incorrect datetime value: '0000-00-00'
1721+
SET timestamp=UNIX_TIMESTAMP('2001-01-01 00:00:00');
17211722
create table t1(a time);
17221723
insert into t1 values ('00:00:00'),('00:01:00');
17231724
select 1 from t1 where 1 < some (select cast(a as datetime) from t1);
17241725
1
17251726
1
17261727
1
1728+
Warnings:
1729+
Warning 1292 Truncated incorrect DOUBLE value: '2001-01-01 00:01:00'
17271730
drop table t1;
1731+
SET timestamp=DEFAULT;
17281732
select time('10:10:10') > 10;
17291733
time('10:10:10') > 10
17301734
1

mysql-test/r/gis.result

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1661,6 +1661,9 @@ INSERT INTO g1 VALUES ('a'),('a');
16611661
SELECT 1 FROM g1 WHERE a >= ANY
16621662
(SELECT 1 FROM g1 WHERE a = geomfromtext('') OR a) ;
16631663
1
1664+
Warnings:
1665+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
1666+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
16641667
DROP TABLE g1;
16651668
#
16661669
# Bug#16451878 GEOMETRY QUERY CRASHES SERVER

mysql-test/r/subselect.result

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,12 +130,16 @@ Warning 1292 Truncated incorrect DOUBLE value: '1.5b'
130130
SELECT (SELECT 'b',2,'a') = ROW(1.5,2,'a');
131131
(SELECT 'b',2,'a') = ROW(1.5,2,'a')
132132
0
133+
Warnings:
134+
Warning 1292 Truncated incorrect DOUBLE value: 'b'
133135
SELECT (SELECT 1.5,2,'a') = ROW(1.5,'2','a');
134136
(SELECT 1.5,2,'a') = ROW(1.5,'2','a')
135137
1
136138
SELECT (SELECT 1.5,'c','a') = ROW(1.5,2,'a');
137139
(SELECT 1.5,'c','a') = ROW(1.5,2,'a')
138140
0
141+
Warnings:
142+
Warning 1292 Truncated incorrect DOUBLE value: 'c'
139143
SELECT (SELECT * FROM (SELECT 'test' a,'test' b) a);
140144
ERROR 21000: Operand should contain 1 column(s)
141145
SELECT 1 as a,(SELECT a+a) b,(SELECT b);
@@ -4665,6 +4669,8 @@ SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 2.0 FROM t2);
46654669
1
46664670
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 'a' FROM t2);
46674671
1
4672+
Warnings:
4673+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
46684674
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT a1 FROM t2);
46694675
1
46704676
1
@@ -5933,6 +5939,8 @@ SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 2.0 FROM t2);
59335939
1
59345940
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 'a' FROM t2);
59355941
1
5942+
Warnings:
5943+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
59365944
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT a1 FROM t2);
59375945
1
59385946
1

mysql-test/r/subselect_mat.result

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -545,6 +545,10 @@ Note 1003 select `test`.`t1`.`a1` AS `a1`,`test`.`t1`.`a2` AS `a2` from `test`.`
545545
select * from t1 group by (a1 in (select col from columns));
546546
a1 a2
547547
1 - 00 2 - 00
548+
Warnings:
549+
Warning 1292 Truncated incorrect DOUBLE value: '1 - 00'
550+
Warning 1292 Truncated incorrect DOUBLE value: '1 - 01'
551+
Warning 1292 Truncated incorrect DOUBLE value: '1 - 02'
548552
/* ORDER BY clause */
549553
explain extended
550554
select * from t1 order by (select col from columns limit 1);

mysql-test/r/subselect_no_exists_to_in.result

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,12 +134,16 @@ Warning 1292 Truncated incorrect DOUBLE value: '1.5b'
134134
SELECT (SELECT 'b',2,'a') = ROW(1.5,2,'a');
135135
(SELECT 'b',2,'a') = ROW(1.5,2,'a')
136136
0
137+
Warnings:
138+
Warning 1292 Truncated incorrect DOUBLE value: 'b'
137139
SELECT (SELECT 1.5,2,'a') = ROW(1.5,'2','a');
138140
(SELECT 1.5,2,'a') = ROW(1.5,'2','a')
139141
1
140142
SELECT (SELECT 1.5,'c','a') = ROW(1.5,2,'a');
141143
(SELECT 1.5,'c','a') = ROW(1.5,2,'a')
142144
0
145+
Warnings:
146+
Warning 1292 Truncated incorrect DOUBLE value: 'c'
143147
SELECT (SELECT * FROM (SELECT 'test' a,'test' b) a);
144148
ERROR 21000: Operand should contain 1 column(s)
145149
SELECT 1 as a,(SELECT a+a) b,(SELECT b);
@@ -4667,6 +4671,8 @@ SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 2.0 FROM t2);
46674671
1
46684672
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 'a' FROM t2);
46694673
1
4674+
Warnings:
4675+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
46704676
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT a1 FROM t2);
46714677
1
46724678
1
@@ -5933,6 +5939,8 @@ SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 2.0 FROM t2);
59335939
1
59345940
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 'a' FROM t2);
59355941
1
5942+
Warnings:
5943+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
59365944
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT a1 FROM t2);
59375945
1
59385946
1

mysql-test/r/subselect_no_mat.result

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,12 +137,16 @@ Warning 1292 Truncated incorrect DOUBLE value: '1.5b'
137137
SELECT (SELECT 'b',2,'a') = ROW(1.5,2,'a');
138138
(SELECT 'b',2,'a') = ROW(1.5,2,'a')
139139
0
140+
Warnings:
141+
Warning 1292 Truncated incorrect DOUBLE value: 'b'
140142
SELECT (SELECT 1.5,2,'a') = ROW(1.5,'2','a');
141143
(SELECT 1.5,2,'a') = ROW(1.5,'2','a')
142144
1
143145
SELECT (SELECT 1.5,'c','a') = ROW(1.5,2,'a');
144146
(SELECT 1.5,'c','a') = ROW(1.5,2,'a')
145147
0
148+
Warnings:
149+
Warning 1292 Truncated incorrect DOUBLE value: 'c'
146150
SELECT (SELECT * FROM (SELECT 'test' a,'test' b) a);
147151
ERROR 21000: Operand should contain 1 column(s)
148152
SELECT 1 as a,(SELECT a+a) b,(SELECT b);
@@ -4665,6 +4669,8 @@ SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 2.0 FROM t2);
46654669
1
46664670
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 'a' FROM t2);
46674671
1
4672+
Warnings:
4673+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
46684674
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT a1 FROM t2);
46694675
1
46704676
1
@@ -5930,6 +5936,8 @@ SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 2.0 FROM t2);
59305936
1
59315937
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 'a' FROM t2);
59325938
1
5939+
Warnings:
5940+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
59335941
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT a1 FROM t2);
59345942
1
59355943
1

mysql-test/r/subselect_no_opts.result

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,12 +133,16 @@ Warning 1292 Truncated incorrect DOUBLE value: '1.5b'
133133
SELECT (SELECT 'b',2,'a') = ROW(1.5,2,'a');
134134
(SELECT 'b',2,'a') = ROW(1.5,2,'a')
135135
0
136+
Warnings:
137+
Warning 1292 Truncated incorrect DOUBLE value: 'b'
136138
SELECT (SELECT 1.5,2,'a') = ROW(1.5,'2','a');
137139
(SELECT 1.5,2,'a') = ROW(1.5,'2','a')
138140
1
139141
SELECT (SELECT 1.5,'c','a') = ROW(1.5,2,'a');
140142
(SELECT 1.5,'c','a') = ROW(1.5,2,'a')
141143
0
144+
Warnings:
145+
Warning 1292 Truncated incorrect DOUBLE value: 'c'
142146
SELECT (SELECT * FROM (SELECT 'test' a,'test' b) a);
143147
ERROR 21000: Operand should contain 1 column(s)
144148
SELECT 1 as a,(SELECT a+a) b,(SELECT b);
@@ -4661,6 +4665,8 @@ SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 2.0 FROM t2);
46614665
1
46624666
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 'a' FROM t2);
46634667
1
4668+
Warnings:
4669+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
46644670
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT a1 FROM t2);
46654671
1
46664672
1
@@ -5926,6 +5932,8 @@ SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 2.0 FROM t2);
59265932
1
59275933
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 'a' FROM t2);
59285934
1
5935+
Warnings:
5936+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
59295937
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT a1 FROM t2);
59305938
1
59315939
1

mysql-test/r/subselect_no_scache.result

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,12 +136,16 @@ Warning 1292 Truncated incorrect DOUBLE value: '1.5b'
136136
SELECT (SELECT 'b',2,'a') = ROW(1.5,2,'a');
137137
(SELECT 'b',2,'a') = ROW(1.5,2,'a')
138138
0
139+
Warnings:
140+
Warning 1292 Truncated incorrect DOUBLE value: 'b'
139141
SELECT (SELECT 1.5,2,'a') = ROW(1.5,'2','a');
140142
(SELECT 1.5,2,'a') = ROW(1.5,'2','a')
141143
1
142144
SELECT (SELECT 1.5,'c','a') = ROW(1.5,2,'a');
143145
(SELECT 1.5,'c','a') = ROW(1.5,2,'a')
144146
0
147+
Warnings:
148+
Warning 1292 Truncated incorrect DOUBLE value: 'c'
145149
SELECT (SELECT * FROM (SELECT 'test' a,'test' b) a);
146150
ERROR 21000: Operand should contain 1 column(s)
147151
SELECT 1 as a,(SELECT a+a) b,(SELECT b);
@@ -4671,6 +4675,8 @@ SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 2.0 FROM t2);
46714675
1
46724676
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 'a' FROM t2);
46734677
1
4678+
Warnings:
4679+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
46744680
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT a1 FROM t2);
46754681
1
46764682
1
@@ -5939,6 +5945,8 @@ SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 2.0 FROM t2);
59395945
1
59405946
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 'a' FROM t2);
59415947
1
5948+
Warnings:
5949+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
59425950
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT a1 FROM t2);
59435951
1
59445952
1

mysql-test/r/subselect_no_semijoin.result

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,12 +133,16 @@ Warning 1292 Truncated incorrect DOUBLE value: '1.5b'
133133
SELECT (SELECT 'b',2,'a') = ROW(1.5,2,'a');
134134
(SELECT 'b',2,'a') = ROW(1.5,2,'a')
135135
0
136+
Warnings:
137+
Warning 1292 Truncated incorrect DOUBLE value: 'b'
136138
SELECT (SELECT 1.5,2,'a') = ROW(1.5,'2','a');
137139
(SELECT 1.5,2,'a') = ROW(1.5,'2','a')
138140
1
139141
SELECT (SELECT 1.5,'c','a') = ROW(1.5,2,'a');
140142
(SELECT 1.5,'c','a') = ROW(1.5,2,'a')
141143
0
144+
Warnings:
145+
Warning 1292 Truncated incorrect DOUBLE value: 'c'
142146
SELECT (SELECT * FROM (SELECT 'test' a,'test' b) a);
143147
ERROR 21000: Operand should contain 1 column(s)
144148
SELECT 1 as a,(SELECT a+a) b,(SELECT b);
@@ -4661,6 +4665,8 @@ SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 2.0 FROM t2);
46614665
1
46624666
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 'a' FROM t2);
46634667
1
4668+
Warnings:
4669+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
46644670
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT a1 FROM t2);
46654671
1
46664672
1
@@ -5926,6 +5932,8 @@ SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 2.0 FROM t2);
59265932
1
59275933
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 'a' FROM t2);
59285934
1
5935+
Warnings:
5936+
Warning 1292 Truncated incorrect DOUBLE value: 'a'
59295937
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT a1 FROM t2);
59305938
1
59315939
1

0 commit comments

Comments
 (0)