summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
authorunknown <timour@mysql.com>2004-08-30 18:14:29 +0300
committerunknown <timour@mysql.com>2004-08-30 18:14:29 +0300
commit65a94e3470018a66d4b148c40fd7e5b91db229ed (patch)
tree2e84890988c4f68ab8eb25bbf8b51d41b25b146d /mysql-test
parent2466cbc4793fd56e531d128225227ba05e019757 (diff)
downloadmariadb-git-65a94e3470018a66d4b148c40fd7e5b91db229ed.tar.gz
added test for BUG#3759
Diffstat (limited to 'mysql-test')
-rw-r--r--mysql-test/r/select.result21
-rw-r--r--mysql-test/t/select.test14
2 files changed, 35 insertions, 0 deletions
diff --git a/mysql-test/r/select.result b/mysql-test/r/select.result
index 206fa507615..99041701cb8 100644
--- a/mysql-test/r/select.result
+++ b/mysql-test/r/select.result
@@ -2327,3 +2327,24 @@ select * from t2,t3 where t2.s = t3.s;
s s
two two
drop table t1, t2, t3;
+create table t1 (a integer, b integer, index(a), index(b));
+create table t2 (c integer, d integer, index(c), index(d));
+insert into t1 values (1,2), (2,2), (3,2), (4,2);
+insert into t2 values (1,3), (2,3), (3,4), (4,4);
+explain select * from t1 left join t2 on a=c where d in (4);
+table type possible_keys key key_len ref rows Extra
+t2 ref c,d d 5 const 2 Using where
+t1 ALL a NULL NULL NULL 3 Using where
+select * from t1 left join t2 on a=c where d in (4);
+a b c d
+3 2 3 4
+4 2 4 4
+explain select * from t1 left join t2 on a=c where d = 4;
+table type possible_keys key key_len ref rows Extra
+t2 ref c,d d 5 const 2 Using where
+t1 ALL a NULL NULL NULL 3 Using where
+select * from t1 left join t2 on a=c where d = 4;
+a b c d
+3 2 3 4
+4 2 4 4
+drop table t1, t2;
diff --git a/mysql-test/t/select.test b/mysql-test/t/select.test
index 7cb157f194e..11b3ae6aed1 100644
--- a/mysql-test/t/select.test
+++ b/mysql-test/t/select.test
@@ -1874,3 +1874,17 @@ select * from t3 where s = 'one';
select * from t1,t2 where t1.s = t2.s;
select * from t2,t3 where t2.s = t3.s;
drop table t1, t2, t3;
+
+#
+# Bug #3759
+# Both queries should produce identical plans and results.
+#
+create table t1 (a integer, b integer, index(a), index(b));
+create table t2 (c integer, d integer, index(c), index(d));
+insert into t1 values (1,2), (2,2), (3,2), (4,2);
+insert into t2 values (1,3), (2,3), (3,4), (4,4);
+explain select * from t1 left join t2 on a=c where d in (4);
+select * from t1 left join t2 on a=c where d in (4);
+explain select * from t1 left join t2 on a=c where d = 4;
+select * from t1 left join t2 on a=c where d = 4;
+drop table t1, t2; \ No newline at end of file