From 4a03a1d777f2c2c4c921a5b52df5da362950b468 Mon Sep 17 00:00:00 2001 From: Igor Babaev Date: Thu, 21 Jul 2011 00:43:37 -0700 Subject: Fixed LP bug #813447. Do not make substitution of a single-row table if it is an inner table of an outer join with on expression containing an expensive subquery. --- mysql-test/t/join_outer.test | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'mysql-test/t/join_outer.test') diff --git a/mysql-test/t/join_outer.test b/mysql-test/t/join_outer.test index 28526a30ae7..71a983bd569 100644 --- a/mysql-test/t/join_outer.test +++ b/mysql-test/t/join_outer.test @@ -1106,3 +1106,24 @@ GROUP BY t2.f1, t2.f2; DROP TABLE t1,t2; --echo End of 5.1 tests + +--echo # +--echo # LP bug #813447: LEFT JOIN with single-row inner table and +--echo # a subquery in ON expression +--echo # + +CREATE TABLE t1 (a int); +INSERT INTO t1 VALUES (0); + +CREATE TABLE t2 (a int); +INSERT INTO t2 VALUES (0); + +CREATE TABLE t3 (a int); +INSERT INTO t3 VALUES (0), (0); + +SELECT t2.a FROM t1 LEFT JOIN t2 ON (6) IN (SELECT a FROM t3); +EXPLAIN EXTENDED +SELECT t2.a FROM t1 LEFT JOIN t2 ON (6) IN (SELECT a FROM t3); + +DROP TABLE t1,t2,t3; + -- cgit v1.2.1