summaryrefslogtreecommitdiff
path: root/mysql-test/t/selectivity.test
diff options
context:
space:
mode:
authorIgor Babaev <igor@askmonty.org>2013-04-03 23:50:14 -0700
committerIgor Babaev <igor@askmonty.org>2013-04-03 23:50:14 -0700
commit50d4d1ca188bea01d6f5196006c5bd89c0ae9a45 (patch)
tree28fdc086781a793a12b3642cd231628ea529d842 /mysql-test/t/selectivity.test
parentd62ee4e970d36649d1a9248401122eb3a63fd011 (diff)
downloadmariadb-git-50d4d1ca188bea01d6f5196006c5bd89c0ae9a45.tar.gz
Fixed bug mdev-4367.
When calculating selectivity of conditions one should take into account the cases when some tables to be joined are empty.
Diffstat (limited to 'mysql-test/t/selectivity.test')
-rw-r--r--mysql-test/t/selectivity.test22
1 files changed, 22 insertions, 0 deletions
diff --git a/mysql-test/t/selectivity.test b/mysql-test/t/selectivity.test
index 31ca9eefdbf..0614920dc13 100644
--- a/mysql-test/t/selectivity.test
+++ b/mysql-test/t/selectivity.test
@@ -336,4 +336,26 @@ set histogram_size=@save_histogram_size;
set histogram_type=@save_histogram_type;
set optimizer_use_condition_selectivity=@save_optimizer_use_condition_selectivity;
+--echo #
+--echo # Bug mdev-4367: join of a merged empty derived table
+--echo # when optimizer_use_condition_selectivity=3
+--echo #
+
+SET optimizer_use_condition_selectivity=3;
+
+CREATE TABLE t1 (a varchar(1)) ENGINE=MyISAM;
+INSERT INTO t1 VALUES ('j'),('k');
+
+CREATE TABLE t2 (b varchar(1)) ENGINE=MyISAM;
+INSERT INTO t2 VALUES ('x'),('y');
+
+CREATE TABLE t3 (c varchar(1), KEY(c)) ENGINE=MyISAM;
+
+SELECT * FROM t1 STRAIGHT_JOIN (t2 JOIN t3 ON c = b AND b > 'z');
+
+DROP TABLE t1,t2,t3;
+
+set optimizer_use_condition_selectivity=@save_optimizer_use_condition_selectivity;
+
+
set use_stat_tables=@save_use_stat_tables;