mirror of
https://github.com/MariaDB/server.git
synced 2026-05-15 19:37:16 +02:00
# No BUG#, a case brought from 5.2's innodb_mysql_lock.test
- Fix a crash in nested semi-join subquery processing
This commit is contained in:
parent
f75fd03ea9
commit
6765cc3017
7 changed files with 94 additions and 2 deletions
|
|
@ -1,4 +1,5 @@
|
|||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t11,t12;
|
||||
drop view if exists v2;
|
||||
set @save_optimizer_switch=@@optimizer_switch;
|
||||
set @@optimizer_switch="partial_match_rowid_merge=off,partial_match_table_scan=off";
|
||||
select (select 2);
|
||||
|
|
@ -4937,3 +4938,20 @@ SELECT * FROM t2 UNION SELECT * FROM t2
|
|||
ORDER BY (SELECT * FROM t1 WHERE MATCH(a) AGAINST ('+abc' IN BOOLEAN MODE));
|
||||
DROP TABLE t1,t2;
|
||||
End of 5.1 tests
|
||||
#
|
||||
# No BUG#, a case brought from 5.2's innodb_mysql_lock.test
|
||||
#
|
||||
create table t1 (i int not null primary key);
|
||||
insert into t1 values (1),(2),(3),(4),(5);
|
||||
create table t2 (j int not null primary key);
|
||||
insert into t2 values (1),(2),(3),(4),(5);
|
||||
create table t3 (k int not null primary key);
|
||||
insert into t3 values (1),(2),(3);
|
||||
create view v2 as select t2.j as j from t2 where t2.j in (select t1.i from t1);
|
||||
select * from t3 where k in (select j from v2);
|
||||
k
|
||||
1
|
||||
2
|
||||
3
|
||||
drop table t1,t2,t3;
|
||||
drop view v2;
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ select @@optimizer_switch like '%materialization=on%';
|
|||
1
|
||||
set optimizer_switch='materialization=off';
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t11,t12;
|
||||
drop view if exists v2;
|
||||
set @save_optimizer_switch=@@optimizer_switch;
|
||||
set @@optimizer_switch="partial_match_rowid_merge=off,partial_match_table_scan=off";
|
||||
select (select 2);
|
||||
|
|
@ -4941,6 +4942,23 @@ SELECT * FROM t2 UNION SELECT * FROM t2
|
|||
ORDER BY (SELECT * FROM t1 WHERE MATCH(a) AGAINST ('+abc' IN BOOLEAN MODE));
|
||||
DROP TABLE t1,t2;
|
||||
End of 5.1 tests
|
||||
#
|
||||
# No BUG#, a case brought from 5.2's innodb_mysql_lock.test
|
||||
#
|
||||
create table t1 (i int not null primary key);
|
||||
insert into t1 values (1),(2),(3),(4),(5);
|
||||
create table t2 (j int not null primary key);
|
||||
insert into t2 values (1),(2),(3),(4),(5);
|
||||
create table t3 (k int not null primary key);
|
||||
insert into t3 values (1),(2),(3);
|
||||
create view v2 as select t2.j as j from t2 where t2.j in (select t1.i from t1);
|
||||
select * from t3 where k in (select j from v2);
|
||||
k
|
||||
1
|
||||
2
|
||||
3
|
||||
drop table t1,t2,t3;
|
||||
drop view v2;
|
||||
set optimizer_switch=default;
|
||||
select @@optimizer_switch like '%materialization=on%';
|
||||
@@optimizer_switch like '%materialization=on%'
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
set optimizer_switch='materialization=off,semijoin=off';
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t11,t12;
|
||||
drop view if exists v2;
|
||||
set @save_optimizer_switch=@@optimizer_switch;
|
||||
set @@optimizer_switch="partial_match_rowid_merge=off,partial_match_table_scan=off";
|
||||
select (select 2);
|
||||
|
|
@ -4938,4 +4939,21 @@ SELECT * FROM t2 UNION SELECT * FROM t2
|
|||
ORDER BY (SELECT * FROM t1 WHERE MATCH(a) AGAINST ('+abc' IN BOOLEAN MODE));
|
||||
DROP TABLE t1,t2;
|
||||
End of 5.1 tests
|
||||
#
|
||||
# No BUG#, a case brought from 5.2's innodb_mysql_lock.test
|
||||
#
|
||||
create table t1 (i int not null primary key);
|
||||
insert into t1 values (1),(2),(3),(4),(5);
|
||||
create table t2 (j int not null primary key);
|
||||
insert into t2 values (1),(2),(3),(4),(5);
|
||||
create table t3 (k int not null primary key);
|
||||
insert into t3 values (1),(2),(3);
|
||||
create view v2 as select t2.j as j from t2 where t2.j in (select t1.i from t1);
|
||||
select * from t3 where k in (select j from v2);
|
||||
k
|
||||
1
|
||||
2
|
||||
3
|
||||
drop table t1,t2,t3;
|
||||
drop view v2;
|
||||
set optimizer_switch=default;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
set optimizer_switch='semijoin=off';
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t11,t12;
|
||||
drop view if exists v2;
|
||||
set @save_optimizer_switch=@@optimizer_switch;
|
||||
set @@optimizer_switch="partial_match_rowid_merge=off,partial_match_table_scan=off";
|
||||
select (select 2);
|
||||
|
|
@ -4938,4 +4939,21 @@ SELECT * FROM t2 UNION SELECT * FROM t2
|
|||
ORDER BY (SELECT * FROM t1 WHERE MATCH(a) AGAINST ('+abc' IN BOOLEAN MODE));
|
||||
DROP TABLE t1,t2;
|
||||
End of 5.1 tests
|
||||
#
|
||||
# No BUG#, a case brought from 5.2's innodb_mysql_lock.test
|
||||
#
|
||||
create table t1 (i int not null primary key);
|
||||
insert into t1 values (1),(2),(3),(4),(5);
|
||||
create table t2 (j int not null primary key);
|
||||
insert into t2 values (1),(2),(3),(4),(5);
|
||||
create table t3 (k int not null primary key);
|
||||
insert into t3 values (1),(2),(3);
|
||||
create view v2 as select t2.j as j from t2 where t2.j in (select t1.i from t1);
|
||||
select * from t3 where k in (select j from v2);
|
||||
k
|
||||
1
|
||||
2
|
||||
3
|
||||
drop table t1,t2,t3;
|
||||
drop view v2;
|
||||
set optimizer_switch=default;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue