mirror of
https://github.com/MariaDB/server.git
synced 2025-01-30 18:41:56 +01:00
a587ded283
in queries like create view v1 as select 2 like 1 escape (3 in (select 0 union select 1)); select 2 union select * from v1; Item_func_like::escape was left uninitialized, because Item_in_optimizer is const_during_execution() but not actually const_item() during execution. It's not, because const subquery evaluation was disabled for derived. Practically it only needs to be disabled for multi-update that runs fix_fields() before all tables are locked.
85 lines
1.7 KiB
Text
85 lines
1.7 KiB
Text
CREATE TABLE bug38999_1 (a int not null primary key, b int not null, key (b)) engine=innodb;
|
|
CREATE TABLE bug38999_2 (a int not null primary key, b int not null, key (b)) engine=innodb;
|
|
INSERT INTO bug38999_1 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10),(11,11),(12,12);
|
|
INSERT INTO bug38999_2 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9);
|
|
update bug38999_1,bug38999_2 set bug38999_1.a=bug38999_1.a+100;
|
|
select * from bug38999_1;
|
|
a b
|
|
101 1
|
|
102 2
|
|
103 3
|
|
104 4
|
|
105 5
|
|
106 6
|
|
107 7
|
|
108 8
|
|
109 9
|
|
110 10
|
|
111 11
|
|
112 12
|
|
update bug38999_1,bug38999_2 set bug38999_1.a=bug38999_1.a+100 where bug38999_1.a=101;
|
|
select * from bug38999_1;
|
|
a b
|
|
201 1
|
|
102 2
|
|
103 3
|
|
104 4
|
|
105 5
|
|
106 6
|
|
107 7
|
|
108 8
|
|
109 9
|
|
110 10
|
|
111 11
|
|
112 12
|
|
update bug38999_1,bug38999_2 set bug38999_1.b=bug38999_1.b+10 where bug38999_1.b=2;
|
|
select * from bug38999_1;
|
|
a b
|
|
201 1
|
|
103 3
|
|
104 4
|
|
105 5
|
|
106 6
|
|
107 7
|
|
108 8
|
|
109 9
|
|
110 10
|
|
111 11
|
|
102 12
|
|
112 12
|
|
update bug38999_1,bug38999_2 set bug38999_1.b=bug38999_1.b+2,bug38999_2.b=bug38999_1.b+10 where bug38999_1.b between 3 and 5 and bug38999_1.a=bug38999_2.a+100;
|
|
select * from bug38999_1;
|
|
a b
|
|
201 1
|
|
103 5
|
|
104 6
|
|
106 6
|
|
105 7
|
|
107 7
|
|
108 8
|
|
109 9
|
|
110 10
|
|
111 11
|
|
102 12
|
|
112 12
|
|
select * from bug38999_2;
|
|
a b
|
|
1 1
|
|
2 2
|
|
6 6
|
|
7 7
|
|
8 8
|
|
9 9
|
|
3 13
|
|
4 14
|
|
5 15
|
|
drop table bug38999_1,bug38999_2;
|
|
#
|
|
# Bug#54475 improper error handling causes cascading crashing failures in innodb
|
|
#
|
|
CREATE TABLE t1(f1 INT) ENGINE=INNODB;
|
|
INSERT INTO t1 VALUES(1);
|
|
UPDATE (SELECT ((SELECT 1 FROM t1), 1) FROM t1 WHERE (SELECT 1 FROM t1)) x, (SELECT 1) AS d SET d.f1 = 1;
|
|
ERROR 21000: Operand should contain 1 column(s)
|
|
UPDATE (SELECT ((SELECT 1 FROM t1),1) = (1,1) FROM t1 WHERE (SELECT 1 FROM t1)) x, t1 AS d SET d.f1 = 1;
|
|
DROP TABLE t1;
|