Merge
This commit is contained in:
commit
eb88c905e6
@ -2058,6 +2058,24 @@ CA ML CA ML
|
|||||||
CA ML RO ML
|
CA ML RO ML
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
set join_cache_level=@tmp_mdev5056;
|
set join_cache_level=@tmp_mdev5056;
|
||||||
|
#
|
||||||
|
# MDEV-5368: Server crashes in Item_in_subselect::optimize on 2nd
|
||||||
|
# execution of PS with IN subqueries, materialization+semijoin
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (a INT) ENGINE=MyISAM;
|
||||||
|
INSERT INTO t1 VALUES (1),(3);
|
||||||
|
CREATE TABLE t2 (b INT) ENGINE=MyISAM;
|
||||||
|
CREATE ALGORITHM=MERGE VIEW v2 AS SELECT * FROM t2;
|
||||||
|
INSERT INTO t2 VALUES (8),(9);
|
||||||
|
PREPARE stmt FROM "
|
||||||
|
SELECT * FROM t1 WHERE 1 IN ( SELECT b FROM v2 WHERE 2 IN ( SELECT MAX(a) FROM t1 ) )
|
||||||
|
";
|
||||||
|
EXECUTE stmt;
|
||||||
|
a
|
||||||
|
EXECUTE stmt;
|
||||||
|
a
|
||||||
|
DROP TABLE t1, t2;
|
||||||
|
DROP VIEW v2;
|
||||||
# End of 5.5 tests
|
# End of 5.5 tests
|
||||||
set @subselect_mat_test_optimizer_switch_value=null;
|
set @subselect_mat_test_optimizer_switch_value=null;
|
||||||
set @@optimizer_switch='materialization=on,in_to_exists=off,semijoin=off';
|
set @@optimizer_switch='materialization=on,in_to_exists=off,semijoin=off';
|
||||||
|
@ -2098,4 +2098,22 @@ CA ML CA ML
|
|||||||
CA ML RO ML
|
CA ML RO ML
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
set join_cache_level=@tmp_mdev5056;
|
set join_cache_level=@tmp_mdev5056;
|
||||||
|
#
|
||||||
|
# MDEV-5368: Server crashes in Item_in_subselect::optimize on 2nd
|
||||||
|
# execution of PS with IN subqueries, materialization+semijoin
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (a INT) ENGINE=MyISAM;
|
||||||
|
INSERT INTO t1 VALUES (1),(3);
|
||||||
|
CREATE TABLE t2 (b INT) ENGINE=MyISAM;
|
||||||
|
CREATE ALGORITHM=MERGE VIEW v2 AS SELECT * FROM t2;
|
||||||
|
INSERT INTO t2 VALUES (8),(9);
|
||||||
|
PREPARE stmt FROM "
|
||||||
|
SELECT * FROM t1 WHERE 1 IN ( SELECT b FROM v2 WHERE 2 IN ( SELECT MAX(a) FROM t1 ) )
|
||||||
|
";
|
||||||
|
EXECUTE stmt;
|
||||||
|
a
|
||||||
|
EXECUTE stmt;
|
||||||
|
a
|
||||||
|
DROP TABLE t1, t2;
|
||||||
|
DROP VIEW v2;
|
||||||
# End of 5.5 tests
|
# End of 5.5 tests
|
||||||
|
@ -1750,5 +1750,25 @@ WHERE ( alias2.c2, alias1.c1 ) IN ( SELECT c4, c3 FROM t2 ) AND alias1.c1 IN ( S
|
|||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
set join_cache_level=@tmp_mdev5056;
|
set join_cache_level=@tmp_mdev5056;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-5368: Server crashes in Item_in_subselect::optimize on 2nd
|
||||||
|
--echo # execution of PS with IN subqueries, materialization+semijoin
|
||||||
|
--echo #
|
||||||
|
CREATE TABLE t1 (a INT) ENGINE=MyISAM;
|
||||||
|
INSERT INTO t1 VALUES (1),(3);
|
||||||
|
|
||||||
|
CREATE TABLE t2 (b INT) ENGINE=MyISAM;
|
||||||
|
CREATE ALGORITHM=MERGE VIEW v2 AS SELECT * FROM t2;
|
||||||
|
INSERT INTO t2 VALUES (8),(9);
|
||||||
|
|
||||||
|
PREPARE stmt FROM "
|
||||||
|
SELECT * FROM t1 WHERE 1 IN ( SELECT b FROM v2 WHERE 2 IN ( SELECT MAX(a) FROM t1 ) )
|
||||||
|
";
|
||||||
|
|
||||||
|
EXECUTE stmt;
|
||||||
|
EXECUTE stmt;
|
||||||
|
DROP TABLE t1, t2;
|
||||||
|
DROP VIEW v2;
|
||||||
|
|
||||||
--echo # End of 5.5 tests
|
--echo # End of 5.5 tests
|
||||||
|
|
||||||
|
@ -1525,7 +1525,7 @@ static bool convert_subq_to_sj(JOIN *parent_join, Item_in_subselect *subq_pred)
|
|||||||
for (tl= (TABLE_LIST*)(parent_lex->table_list.first); tl->next_local; tl= tl->next_local)
|
for (tl= (TABLE_LIST*)(parent_lex->table_list.first); tl->next_local; tl= tl->next_local)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
tl->next_local= subq_lex->leaf_tables.head();
|
tl->next_local= subq_lex->join->tables_list;
|
||||||
|
|
||||||
/* A theory: no need to re-connect the next_global chain */
|
/* A theory: no need to re-connect the next_global chain */
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user