diff --git a/mysql-test/r/derived_opt.result b/mysql-test/r/derived_opt.result index 818289a740b..b75e735446d 100644 --- a/mysql-test/r/derived_opt.result +++ b/mysql-test/r/derived_opt.result @@ -310,28 +310,26 @@ PRIMARY KEY (a) ) ENGINE=MyISAM; INSERT INTO t4 VALUES ('CD'); set @@tmp_table_size=8192; -EXPLAIN EXTENDED -SELECT * FROM t3 AS tX JOIN t2 AS tY ON (tX.pk = tY.pk) +EXPLAIN +SELECT * FROM t3 AS tx JOIN t2 AS ty ON (tx.pk = ty.pk) WHERE -tX.pk IN +tx.pk IN (SELECT * -FROM (SELECT DISTINCT tA.pk -FROM t3 AS tA -JOIN t2 AS tB ON (tA.pk = tB.pk) -JOIN t1 AS tC ON (tB.pk = tC.pk) -JOIN t4 AS tD ON tC.a = tD.a) tU) +FROM (SELECT DISTINCT ta.pk +FROM t3 AS ta +JOIN t2 AS tb ON (ta.pk = tb.pk) +JOIN t1 AS tc ON (tb.pk = tc.pk) +JOIN t4 AS td ON tc.a = td.a) tu) limit 10; -id select_type table type possible_keys key key_len ref rows filtered Extra -1 PRIMARY ALL distinct_key NULL NULL NULL 1833 100.00 -1 PRIMARY tX eq_ref PRIMARY PRIMARY 4 tU.pk 1 100.00 Using index -1 PRIMARY tY eq_ref PRIMARY PRIMARY 4 tU.pk 1 100.00 Using index -2 MATERIALIZED ALL NULL NULL NULL NULL 1833 100.00 -3 DERIVED tD system PRIMARY NULL NULL NULL 1 100.00 Using temporary -3 DERIVED tC ref PRIMARY,a a 3 const 1833 100.00 -3 DERIVED tA eq_ref PRIMARY PRIMARY 4 test.tC.pk 1 100.00 Using index -3 DERIVED tB eq_ref PRIMARY PRIMARY 4 test.tC.pk 1 100.00 Using index; Distinct -Warnings: -Note 1003 select `test`.`tX`.`pk` AS `pk`,`test`.`tY`.`pk` AS `pk` from `test`.`t3` `tX` semi join ((select distinct `test`.`tA`.`pk` AS `pk` from `test`.`t3` `tA` join `test`.`t2` `tB` join `test`.`t1` `tC` join `test`.`t4` `tD` where ((`test`.`tA`.`pk` = `test`.`tC`.`pk`) and (`test`.`tB`.`pk` = `test`.`tC`.`pk`) and (`test`.`tC`.`a` = 'CD'))) `tU`) join `test`.`t2` `tY` where ((`test`.`tX`.`pk` = `tU`.`pk`) and (`test`.`tY`.`pk` = `tU`.`pk`)) limit 10 +id select_type table type possible_keys key key_len ref rows Extra +1 PRIMARY ALL distinct_key NULL NULL NULL # +1 PRIMARY tx eq_ref PRIMARY PRIMARY 4 tu.pk # Using index +1 PRIMARY ty eq_ref PRIMARY PRIMARY 4 tu.pk # Using index +2 MATERIALIZED ALL NULL NULL NULL NULL # +3 DERIVED td system PRIMARY NULL NULL NULL # Using temporary +3 DERIVED tc ref PRIMARY,a a 3 const # +3 DERIVED ta eq_ref PRIMARY PRIMARY 4 test.tc.pk # Using index +3 DERIVED tb eq_ref PRIMARY PRIMARY 4 test.tc.pk # Using index; Distinct SELECT * FROM t3 AS tX JOIN t2 AS tY ON (tX.pk = tY.pk) WHERE tX.pk IN diff --git a/mysql-test/t/derived_opt.test b/mysql-test/t/derived_opt.test index cd5316052ae..b01c479111b 100644 --- a/mysql-test/t/derived_opt.test +++ b/mysql-test/t/derived_opt.test @@ -246,16 +246,17 @@ INSERT INTO t4 VALUES ('CD'); set @@tmp_table_size=8192; -EXPLAIN EXTENDED -SELECT * FROM t3 AS tX JOIN t2 AS tY ON (tX.pk = tY.pk) +--replace_column 9 # +EXPLAIN +SELECT * FROM t3 AS tx JOIN t2 AS ty ON (tx.pk = ty.pk) WHERE - tX.pk IN + tx.pk IN (SELECT * - FROM (SELECT DISTINCT tA.pk - FROM t3 AS tA - JOIN t2 AS tB ON (tA.pk = tB.pk) - JOIN t1 AS tC ON (tB.pk = tC.pk) - JOIN t4 AS tD ON tC.a = tD.a) tU) + FROM (SELECT DISTINCT ta.pk + FROM t3 AS ta + JOIN t2 AS tb ON (ta.pk = tb.pk) + JOIN t1 AS tc ON (tb.pk = tc.pk) + JOIN t4 AS td ON tc.a = td.a) tu) limit 10; SELECT * FROM t3 AS tX JOIN t2 AS tY ON (tX.pk = tY.pk)