summaryrefslogtreecommitdiff
path: root/mysql-test/t/range.test
diff options
context:
space:
mode:
authorunknown <sergefp@mysql.com>2005-09-21 21:36:15 +0400
committerunknown <sergefp@mysql.com>2005-09-21 21:36:15 +0400
commit0004c431dbbceeb928b3b0c3b0c530282615da74 (patch)
treedd26e7b03cdfca2dfb2b321b628e267396d5f5e2 /mysql-test/t/range.test
parentda0f9ecef8afe617f048789ee95c841570540a5f (diff)
downloadmariadb-git-0004c431dbbceeb928b3b0c3b0c530282615da74.tar.gz
Fix for BUG#13317: Make range optimizer able to produce ranges for "view.field IN (c1,c2)"
and "view.field BETWEEN c1 AND c2" mysql-test/r/range.result: Testcase for BUG#13317 mysql-test/t/range.test: Testcase for BUG#13317
Diffstat (limited to 'mysql-test/t/range.test')
-rw-r--r--mysql-test/t/range.test22
1 files changed, 22 insertions, 0 deletions
diff --git a/mysql-test/t/range.test b/mysql-test/t/range.test
index bbe5798e7e5..d8b3f5ef953 100644
--- a/mysql-test/t/range.test
+++ b/mysql-test/t/range.test
@@ -578,3 +578,25 @@ DELETE FROM t1 WHERE NOT(a <=> 2);
SELECT * FROM t1;
DROP TABLE t1;
+
+#
+# BUG#13317: range optimization doesn't work for IN over VIEW.
+#
+create table t1 (a int, b int, primary key(a,b));
+create view v1 as select a, b from t1;
+
+INSERT INTO `t1` VALUES
+(0,0),(1,0),(2,0),(3,0),(4,0),(5,1),(6,1),(7,1),(8,1),(9,1),(10,2),(11,2),(12,2)
+,(13,2),(14,2),(15,3),(16,3),(17,3),(18,3),(19,3);
+
+--replace_column 9 #
+explain select * from t1 where a in (3,4) and b in (1,2,3);
+--replace_column 9 #
+explain select * from v1 where a in (3,4) and b in (1,2,3);
+--replace_column 9 #
+explain select * from t1 where a between 3 and 4 and b between 1 and 2;
+--replace_column 9 #
+explain select * from v1 where a between 3 and 4 and b between 1 and 2;
+
+drop view v1;
+drop table t1;