mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MDEV-8852 Implicit or explicit CAST from MAX(string) to INT,DOUBLE,DECIMAL does not produce warnings
This commit is contained in:
@ -2273,3 +2273,13 @@ t2_id GROUP_CONCAT(IF (t6.b, t6.f, t5.f) ORDER BY 1)
|
|||||||
EXECUTE stmt;
|
EXECUTE stmt;
|
||||||
t2_id GROUP_CONCAT(IF (t6.b, t6.f, t5.f) ORDER BY 1)
|
t2_id GROUP_CONCAT(IF (t6.b, t6.f, t5.f) ORDER BY 1)
|
||||||
DROP TABLE t1,t2,t3,t4,t5,t6;
|
DROP TABLE t1,t2,t3,t4,t5,t6;
|
||||||
|
#
|
||||||
|
# MDEV-8852 Implicit or explicit CAST from MAX(string) to INT,DOUBLE,DECIMAL does not produce warnings
|
||||||
|
#
|
||||||
|
SELECT MAX('x') << 1, CAST(MAX('x') AS DOUBLE), CAST(MAX('x') AS DECIMAL);
|
||||||
|
MAX('x') << 1 CAST(MAX('x') AS DOUBLE) CAST(MAX('x') AS DECIMAL)
|
||||||
|
0 0 0
|
||||||
|
Warnings:
|
||||||
|
Warning 1292 Truncated incorrect INTEGER value: 'x'
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: 'x'
|
||||||
|
Warning 1292 Truncated incorrect DECIMAL value: 'x'
|
||||||
|
@ -1718,13 +1718,17 @@ Warnings:
|
|||||||
Warning 1292 Truncated incorrect INTEGER value: '%Z'
|
Warning 1292 Truncated incorrect INTEGER value: '%Z'
|
||||||
Warning 1292 Truncated incorrect DOUBLE value: ''
|
Warning 1292 Truncated incorrect DOUBLE value: ''
|
||||||
Warning 1292 Incorrect datetime value: '0000-00-00'
|
Warning 1292 Incorrect datetime value: '0000-00-00'
|
||||||
|
SET timestamp=UNIX_TIMESTAMP('2001-01-01 00:00:00');
|
||||||
create table t1(a time);
|
create table t1(a time);
|
||||||
insert into t1 values ('00:00:00'),('00:01:00');
|
insert into t1 values ('00:00:00'),('00:01:00');
|
||||||
select 1 from t1 where 1 < some (select cast(a as datetime) from t1);
|
select 1 from t1 where 1 < some (select cast(a as datetime) from t1);
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
|
Warnings:
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: '2001-01-01 00:01:00'
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
SET timestamp=DEFAULT;
|
||||||
select time('10:10:10') > 10;
|
select time('10:10:10') > 10;
|
||||||
time('10:10:10') > 10
|
time('10:10:10') > 10
|
||||||
1
|
1
|
||||||
|
@ -1661,6 +1661,9 @@ INSERT INTO g1 VALUES ('a'),('a');
|
|||||||
SELECT 1 FROM g1 WHERE a >= ANY
|
SELECT 1 FROM g1 WHERE a >= ANY
|
||||||
(SELECT 1 FROM g1 WHERE a = geomfromtext('') OR a) ;
|
(SELECT 1 FROM g1 WHERE a = geomfromtext('') OR a) ;
|
||||||
1
|
1
|
||||||
|
Warnings:
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: 'a'
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: 'a'
|
||||||
DROP TABLE g1;
|
DROP TABLE g1;
|
||||||
#
|
#
|
||||||
# Bug#16451878 GEOMETRY QUERY CRASHES SERVER
|
# Bug#16451878 GEOMETRY QUERY CRASHES SERVER
|
||||||
|
@ -130,12 +130,16 @@ Warning 1292 Truncated incorrect DOUBLE value: '1.5b'
|
|||||||
SELECT (SELECT 'b',2,'a') = ROW(1.5,2,'a');
|
SELECT (SELECT 'b',2,'a') = ROW(1.5,2,'a');
|
||||||
(SELECT 'b',2,'a') = ROW(1.5,2,'a')
|
(SELECT 'b',2,'a') = ROW(1.5,2,'a')
|
||||||
0
|
0
|
||||||
|
Warnings:
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: 'b'
|
||||||
SELECT (SELECT 1.5,2,'a') = ROW(1.5,'2','a');
|
SELECT (SELECT 1.5,2,'a') = ROW(1.5,'2','a');
|
||||||
(SELECT 1.5,2,'a') = ROW(1.5,'2','a')
|
(SELECT 1.5,2,'a') = ROW(1.5,'2','a')
|
||||||
1
|
1
|
||||||
SELECT (SELECT 1.5,'c','a') = ROW(1.5,2,'a');
|
SELECT (SELECT 1.5,'c','a') = ROW(1.5,2,'a');
|
||||||
(SELECT 1.5,'c','a') = ROW(1.5,2,'a')
|
(SELECT 1.5,'c','a') = ROW(1.5,2,'a')
|
||||||
0
|
0
|
||||||
|
Warnings:
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: 'c'
|
||||||
SELECT (SELECT * FROM (SELECT 'test' a,'test' b) a);
|
SELECT (SELECT * FROM (SELECT 'test' a,'test' b) a);
|
||||||
ERROR 21000: Operand should contain 1 column(s)
|
ERROR 21000: Operand should contain 1 column(s)
|
||||||
SELECT 1 as a,(SELECT a+a) b,(SELECT b);
|
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);
|
|||||||
1
|
1
|
||||||
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 'a' FROM t2);
|
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 'a' FROM t2);
|
||||||
1
|
1
|
||||||
|
Warnings:
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: 'a'
|
||||||
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT a1 FROM t2);
|
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT a1 FROM t2);
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
@ -5933,6 +5939,8 @@ SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 2.0 FROM t2);
|
|||||||
1
|
1
|
||||||
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 'a' FROM t2);
|
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 'a' FROM t2);
|
||||||
1
|
1
|
||||||
|
Warnings:
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: 'a'
|
||||||
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT a1 FROM t2);
|
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT a1 FROM t2);
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
|
@ -545,6 +545,10 @@ Note 1003 select `test`.`t1`.`a1` AS `a1`,`test`.`t1`.`a2` AS `a2` from `test`.`
|
|||||||
select * from t1 group by (a1 in (select col from columns));
|
select * from t1 group by (a1 in (select col from columns));
|
||||||
a1 a2
|
a1 a2
|
||||||
1 - 00 2 - 00
|
1 - 00 2 - 00
|
||||||
|
Warnings:
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: '1 - 00'
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: '1 - 01'
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: '1 - 02'
|
||||||
/* ORDER BY clause */
|
/* ORDER BY clause */
|
||||||
explain extended
|
explain extended
|
||||||
select * from t1 order by (select col from columns limit 1);
|
select * from t1 order by (select col from columns limit 1);
|
||||||
|
@ -134,12 +134,16 @@ Warning 1292 Truncated incorrect DOUBLE value: '1.5b'
|
|||||||
SELECT (SELECT 'b',2,'a') = ROW(1.5,2,'a');
|
SELECT (SELECT 'b',2,'a') = ROW(1.5,2,'a');
|
||||||
(SELECT 'b',2,'a') = ROW(1.5,2,'a')
|
(SELECT 'b',2,'a') = ROW(1.5,2,'a')
|
||||||
0
|
0
|
||||||
|
Warnings:
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: 'b'
|
||||||
SELECT (SELECT 1.5,2,'a') = ROW(1.5,'2','a');
|
SELECT (SELECT 1.5,2,'a') = ROW(1.5,'2','a');
|
||||||
(SELECT 1.5,2,'a') = ROW(1.5,'2','a')
|
(SELECT 1.5,2,'a') = ROW(1.5,'2','a')
|
||||||
1
|
1
|
||||||
SELECT (SELECT 1.5,'c','a') = ROW(1.5,2,'a');
|
SELECT (SELECT 1.5,'c','a') = ROW(1.5,2,'a');
|
||||||
(SELECT 1.5,'c','a') = ROW(1.5,2,'a')
|
(SELECT 1.5,'c','a') = ROW(1.5,2,'a')
|
||||||
0
|
0
|
||||||
|
Warnings:
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: 'c'
|
||||||
SELECT (SELECT * FROM (SELECT 'test' a,'test' b) a);
|
SELECT (SELECT * FROM (SELECT 'test' a,'test' b) a);
|
||||||
ERROR 21000: Operand should contain 1 column(s)
|
ERROR 21000: Operand should contain 1 column(s)
|
||||||
SELECT 1 as a,(SELECT a+a) b,(SELECT b);
|
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);
|
|||||||
1
|
1
|
||||||
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 'a' FROM t2);
|
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 'a' FROM t2);
|
||||||
1
|
1
|
||||||
|
Warnings:
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: 'a'
|
||||||
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT a1 FROM t2);
|
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT a1 FROM t2);
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
@ -5933,6 +5939,8 @@ SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 2.0 FROM t2);
|
|||||||
1
|
1
|
||||||
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 'a' FROM t2);
|
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 'a' FROM t2);
|
||||||
1
|
1
|
||||||
|
Warnings:
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: 'a'
|
||||||
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT a1 FROM t2);
|
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT a1 FROM t2);
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
|
@ -137,12 +137,16 @@ Warning 1292 Truncated incorrect DOUBLE value: '1.5b'
|
|||||||
SELECT (SELECT 'b',2,'a') = ROW(1.5,2,'a');
|
SELECT (SELECT 'b',2,'a') = ROW(1.5,2,'a');
|
||||||
(SELECT 'b',2,'a') = ROW(1.5,2,'a')
|
(SELECT 'b',2,'a') = ROW(1.5,2,'a')
|
||||||
0
|
0
|
||||||
|
Warnings:
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: 'b'
|
||||||
SELECT (SELECT 1.5,2,'a') = ROW(1.5,'2','a');
|
SELECT (SELECT 1.5,2,'a') = ROW(1.5,'2','a');
|
||||||
(SELECT 1.5,2,'a') = ROW(1.5,'2','a')
|
(SELECT 1.5,2,'a') = ROW(1.5,'2','a')
|
||||||
1
|
1
|
||||||
SELECT (SELECT 1.5,'c','a') = ROW(1.5,2,'a');
|
SELECT (SELECT 1.5,'c','a') = ROW(1.5,2,'a');
|
||||||
(SELECT 1.5,'c','a') = ROW(1.5,2,'a')
|
(SELECT 1.5,'c','a') = ROW(1.5,2,'a')
|
||||||
0
|
0
|
||||||
|
Warnings:
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: 'c'
|
||||||
SELECT (SELECT * FROM (SELECT 'test' a,'test' b) a);
|
SELECT (SELECT * FROM (SELECT 'test' a,'test' b) a);
|
||||||
ERROR 21000: Operand should contain 1 column(s)
|
ERROR 21000: Operand should contain 1 column(s)
|
||||||
SELECT 1 as a,(SELECT a+a) b,(SELECT b);
|
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);
|
|||||||
1
|
1
|
||||||
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 'a' FROM t2);
|
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 'a' FROM t2);
|
||||||
1
|
1
|
||||||
|
Warnings:
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: 'a'
|
||||||
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT a1 FROM t2);
|
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT a1 FROM t2);
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
@ -5930,6 +5936,8 @@ SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 2.0 FROM t2);
|
|||||||
1
|
1
|
||||||
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 'a' FROM t2);
|
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 'a' FROM t2);
|
||||||
1
|
1
|
||||||
|
Warnings:
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: 'a'
|
||||||
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT a1 FROM t2);
|
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT a1 FROM t2);
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
|
@ -133,12 +133,16 @@ Warning 1292 Truncated incorrect DOUBLE value: '1.5b'
|
|||||||
SELECT (SELECT 'b',2,'a') = ROW(1.5,2,'a');
|
SELECT (SELECT 'b',2,'a') = ROW(1.5,2,'a');
|
||||||
(SELECT 'b',2,'a') = ROW(1.5,2,'a')
|
(SELECT 'b',2,'a') = ROW(1.5,2,'a')
|
||||||
0
|
0
|
||||||
|
Warnings:
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: 'b'
|
||||||
SELECT (SELECT 1.5,2,'a') = ROW(1.5,'2','a');
|
SELECT (SELECT 1.5,2,'a') = ROW(1.5,'2','a');
|
||||||
(SELECT 1.5,2,'a') = ROW(1.5,'2','a')
|
(SELECT 1.5,2,'a') = ROW(1.5,'2','a')
|
||||||
1
|
1
|
||||||
SELECT (SELECT 1.5,'c','a') = ROW(1.5,2,'a');
|
SELECT (SELECT 1.5,'c','a') = ROW(1.5,2,'a');
|
||||||
(SELECT 1.5,'c','a') = ROW(1.5,2,'a')
|
(SELECT 1.5,'c','a') = ROW(1.5,2,'a')
|
||||||
0
|
0
|
||||||
|
Warnings:
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: 'c'
|
||||||
SELECT (SELECT * FROM (SELECT 'test' a,'test' b) a);
|
SELECT (SELECT * FROM (SELECT 'test' a,'test' b) a);
|
||||||
ERROR 21000: Operand should contain 1 column(s)
|
ERROR 21000: Operand should contain 1 column(s)
|
||||||
SELECT 1 as a,(SELECT a+a) b,(SELECT b);
|
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);
|
|||||||
1
|
1
|
||||||
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 'a' FROM t2);
|
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 'a' FROM t2);
|
||||||
1
|
1
|
||||||
|
Warnings:
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: 'a'
|
||||||
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT a1 FROM t2);
|
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT a1 FROM t2);
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
@ -5926,6 +5932,8 @@ SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 2.0 FROM t2);
|
|||||||
1
|
1
|
||||||
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 'a' FROM t2);
|
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 'a' FROM t2);
|
||||||
1
|
1
|
||||||
|
Warnings:
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: 'a'
|
||||||
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT a1 FROM t2);
|
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT a1 FROM t2);
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
|
@ -136,12 +136,16 @@ Warning 1292 Truncated incorrect DOUBLE value: '1.5b'
|
|||||||
SELECT (SELECT 'b',2,'a') = ROW(1.5,2,'a');
|
SELECT (SELECT 'b',2,'a') = ROW(1.5,2,'a');
|
||||||
(SELECT 'b',2,'a') = ROW(1.5,2,'a')
|
(SELECT 'b',2,'a') = ROW(1.5,2,'a')
|
||||||
0
|
0
|
||||||
|
Warnings:
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: 'b'
|
||||||
SELECT (SELECT 1.5,2,'a') = ROW(1.5,'2','a');
|
SELECT (SELECT 1.5,2,'a') = ROW(1.5,'2','a');
|
||||||
(SELECT 1.5,2,'a') = ROW(1.5,'2','a')
|
(SELECT 1.5,2,'a') = ROW(1.5,'2','a')
|
||||||
1
|
1
|
||||||
SELECT (SELECT 1.5,'c','a') = ROW(1.5,2,'a');
|
SELECT (SELECT 1.5,'c','a') = ROW(1.5,2,'a');
|
||||||
(SELECT 1.5,'c','a') = ROW(1.5,2,'a')
|
(SELECT 1.5,'c','a') = ROW(1.5,2,'a')
|
||||||
0
|
0
|
||||||
|
Warnings:
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: 'c'
|
||||||
SELECT (SELECT * FROM (SELECT 'test' a,'test' b) a);
|
SELECT (SELECT * FROM (SELECT 'test' a,'test' b) a);
|
||||||
ERROR 21000: Operand should contain 1 column(s)
|
ERROR 21000: Operand should contain 1 column(s)
|
||||||
SELECT 1 as a,(SELECT a+a) b,(SELECT b);
|
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);
|
|||||||
1
|
1
|
||||||
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 'a' FROM t2);
|
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 'a' FROM t2);
|
||||||
1
|
1
|
||||||
|
Warnings:
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: 'a'
|
||||||
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT a1 FROM t2);
|
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT a1 FROM t2);
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
@ -5939,6 +5945,8 @@ SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 2.0 FROM t2);
|
|||||||
1
|
1
|
||||||
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 'a' FROM t2);
|
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 'a' FROM t2);
|
||||||
1
|
1
|
||||||
|
Warnings:
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: 'a'
|
||||||
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT a1 FROM t2);
|
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT a1 FROM t2);
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
|
@ -133,12 +133,16 @@ Warning 1292 Truncated incorrect DOUBLE value: '1.5b'
|
|||||||
SELECT (SELECT 'b',2,'a') = ROW(1.5,2,'a');
|
SELECT (SELECT 'b',2,'a') = ROW(1.5,2,'a');
|
||||||
(SELECT 'b',2,'a') = ROW(1.5,2,'a')
|
(SELECT 'b',2,'a') = ROW(1.5,2,'a')
|
||||||
0
|
0
|
||||||
|
Warnings:
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: 'b'
|
||||||
SELECT (SELECT 1.5,2,'a') = ROW(1.5,'2','a');
|
SELECT (SELECT 1.5,2,'a') = ROW(1.5,'2','a');
|
||||||
(SELECT 1.5,2,'a') = ROW(1.5,'2','a')
|
(SELECT 1.5,2,'a') = ROW(1.5,'2','a')
|
||||||
1
|
1
|
||||||
SELECT (SELECT 1.5,'c','a') = ROW(1.5,2,'a');
|
SELECT (SELECT 1.5,'c','a') = ROW(1.5,2,'a');
|
||||||
(SELECT 1.5,'c','a') = ROW(1.5,2,'a')
|
(SELECT 1.5,'c','a') = ROW(1.5,2,'a')
|
||||||
0
|
0
|
||||||
|
Warnings:
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: 'c'
|
||||||
SELECT (SELECT * FROM (SELECT 'test' a,'test' b) a);
|
SELECT (SELECT * FROM (SELECT 'test' a,'test' b) a);
|
||||||
ERROR 21000: Operand should contain 1 column(s)
|
ERROR 21000: Operand should contain 1 column(s)
|
||||||
SELECT 1 as a,(SELECT a+a) b,(SELECT b);
|
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);
|
|||||||
1
|
1
|
||||||
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 'a' FROM t2);
|
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 'a' FROM t2);
|
||||||
1
|
1
|
||||||
|
Warnings:
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: 'a'
|
||||||
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT a1 FROM t2);
|
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT a1 FROM t2);
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
@ -5926,6 +5932,8 @@ SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 2.0 FROM t2);
|
|||||||
1
|
1
|
||||||
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 'a' FROM t2);
|
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT 'a' FROM t2);
|
||||||
1
|
1
|
||||||
|
Warnings:
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: 'a'
|
||||||
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT a1 FROM t2);
|
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT a1 FROM t2);
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
|
@ -2288,8 +2288,14 @@ CREATE TABLE t3 (a int, b int) ;
|
|||||||
PREPARE st1 FROM "SELECT * FROM t2 LEFT JOIN t1 ON t2.a != 0 AND ('j','r') IN ( SELECT b,a FROM t3)";
|
PREPARE st1 FROM "SELECT * FROM t2 LEFT JOIN t1 ON t2.a != 0 AND ('j','r') IN ( SELECT b,a FROM t3)";
|
||||||
EXECUTE st1;
|
EXECUTE st1;
|
||||||
a a
|
a a
|
||||||
|
Warnings:
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: 'j'
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: 'r'
|
||||||
EXECUTE st1;
|
EXECUTE st1;
|
||||||
a a
|
a a
|
||||||
|
Warnings:
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: 'j'
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: 'r'
|
||||||
DROP TABLE t1, t2, t3;
|
DROP TABLE t1, t2, t3;
|
||||||
#
|
#
|
||||||
# BUG#849776: Wrong result with semijoin + "Impossible where"
|
# BUG#849776: Wrong result with semijoin + "Impossible where"
|
||||||
|
@ -2302,8 +2302,14 @@ CREATE TABLE t3 (a int, b int) ;
|
|||||||
PREPARE st1 FROM "SELECT * FROM t2 LEFT JOIN t1 ON t2.a != 0 AND ('j','r') IN ( SELECT b,a FROM t3)";
|
PREPARE st1 FROM "SELECT * FROM t2 LEFT JOIN t1 ON t2.a != 0 AND ('j','r') IN ( SELECT b,a FROM t3)";
|
||||||
EXECUTE st1;
|
EXECUTE st1;
|
||||||
a a
|
a a
|
||||||
|
Warnings:
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: 'j'
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: 'r'
|
||||||
EXECUTE st1;
|
EXECUTE st1;
|
||||||
a a
|
a a
|
||||||
|
Warnings:
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: 'j'
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: 'r'
|
||||||
DROP TABLE t1, t2, t3;
|
DROP TABLE t1, t2, t3;
|
||||||
#
|
#
|
||||||
# BUG#849776: Wrong result with semijoin + "Impossible where"
|
# BUG#849776: Wrong result with semijoin + "Impossible where"
|
||||||
|
@ -566,6 +566,10 @@ Note 1003 select `test`.`t1`.`a1` AS `a1`,`test`.`t1`.`a2` AS `a2` from `test`.`
|
|||||||
select * from t1 group by (a1 in (select col from columns));
|
select * from t1 group by (a1 in (select col from columns));
|
||||||
a1 a2
|
a1 a2
|
||||||
1 - 00 2 - 00
|
1 - 00 2 - 00
|
||||||
|
Warnings:
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: '1 - 00'
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: '1 - 01'
|
||||||
|
Warning 1292 Truncated incorrect DOUBLE value: '1 - 02'
|
||||||
/* ORDER BY clause */
|
/* ORDER BY clause */
|
||||||
explain extended
|
explain extended
|
||||||
select * from t1 order by (select col from columns limit 1);
|
select * from t1 order by (select col from columns limit 1);
|
||||||
|
@ -1565,3 +1565,8 @@ EXECUTE stmt;
|
|||||||
EXECUTE stmt;
|
EXECUTE stmt;
|
||||||
|
|
||||||
DROP TABLE t1,t2,t3,t4,t5,t6;
|
DROP TABLE t1,t2,t3,t4,t5,t6;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-8852 Implicit or explicit CAST from MAX(string) to INT,DOUBLE,DECIMAL does not produce warnings
|
||||||
|
--echo #
|
||||||
|
SELECT MAX('x') << 1, CAST(MAX('x') AS DOUBLE), CAST(MAX('x') AS DECIMAL);
|
||||||
|
@ -1036,10 +1036,12 @@ SET time_zone=DEFAULT;
|
|||||||
|
|
||||||
SELECT min(timestampadd(month, 1>'', from_days('%Z')));
|
SELECT min(timestampadd(month, 1>'', from_days('%Z')));
|
||||||
|
|
||||||
|
SET timestamp=UNIX_TIMESTAMP('2001-01-01 00:00:00');
|
||||||
create table t1(a time);
|
create table t1(a time);
|
||||||
insert into t1 values ('00:00:00'),('00:01:00');
|
insert into t1 values ('00:00:00'),('00:01:00');
|
||||||
select 1 from t1 where 1 < some (select cast(a as datetime) from t1);
|
select 1 from t1 where 1 < some (select cast(a as datetime) from t1);
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
SET timestamp=DEFAULT;
|
||||||
|
|
||||||
select time('10:10:10') > 10;
|
select time('10:10:10') > 10;
|
||||||
select time('10:10:10') > 1010;
|
select time('10:10:10') > 1010;
|
||||||
|
20
sql/item.cc
20
sql/item.cc
@ -9118,28 +9118,18 @@ bool Item_cache_str::cache_value()
|
|||||||
double Item_cache_str::val_real()
|
double Item_cache_str::val_real()
|
||||||
{
|
{
|
||||||
DBUG_ASSERT(fixed == 1);
|
DBUG_ASSERT(fixed == 1);
|
||||||
int err_not_used;
|
|
||||||
char *end_not_used;
|
|
||||||
if (!has_value())
|
if (!has_value())
|
||||||
return 0.0;
|
return 0.0;
|
||||||
if (value)
|
return value ? double_from_string_with_check(value) : 0.0;
|
||||||
return my_strntod(value->charset(), (char*) value->ptr(),
|
|
||||||
value->length(), &end_not_used, &err_not_used);
|
|
||||||
return (double) 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
longlong Item_cache_str::val_int()
|
longlong Item_cache_str::val_int()
|
||||||
{
|
{
|
||||||
DBUG_ASSERT(fixed == 1);
|
DBUG_ASSERT(fixed == 1);
|
||||||
int err;
|
|
||||||
if (!has_value())
|
if (!has_value())
|
||||||
return 0;
|
return 0;
|
||||||
if (value)
|
return value ? longlong_from_string_with_check(value) : 0;
|
||||||
return my_strntoll(value->charset(), value->ptr(),
|
|
||||||
value->length(), 10, (char**) 0, &err);
|
|
||||||
else
|
|
||||||
return (longlong)0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -9157,11 +9147,7 @@ my_decimal *Item_cache_str::val_decimal(my_decimal *decimal_val)
|
|||||||
DBUG_ASSERT(fixed == 1);
|
DBUG_ASSERT(fixed == 1);
|
||||||
if (!has_value())
|
if (!has_value())
|
||||||
return NULL;
|
return NULL;
|
||||||
if (value)
|
return value ? decimal_from_string_with_check(decimal_val, value) : 0;
|
||||||
string2my_decimal(E_DEC_FATAL_ERROR, value, decimal_val);
|
|
||||||
else
|
|
||||||
decimal_val= 0;
|
|
||||||
return decimal_val;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user