summaryrefslogtreecommitdiff
path: root/mysql-test/t/select.test
diff options
context:
space:
mode:
authorIgor Babaev <igor@askmonty.org>2013-08-29 21:02:42 -0700
committerIgor Babaev <igor@askmonty.org>2013-08-29 21:02:42 -0700
commit576a2b153320ab1fbfd4df06a30bf1f52e569cba (patch)
tree90a72321752ae4420ea3651bbd7df6ec24b2d9f2 /mysql-test/t/select.test
parent37f18d2318c966b84a5e91a31c0985a9b2d0d9fd (diff)
downloadmariadb-git-576a2b153320ab1fbfd4df06a30bf1f52e569cba.tar.gz
Fixed bug mdev-4971.
The function propagate_new_equalities() did not updated properly the references to inherited multiple equalities.
Diffstat (limited to 'mysql-test/t/select.test')
-rw-r--r--mysql-test/t/select.test23
1 files changed, 23 insertions, 0 deletions
diff --git a/mysql-test/t/select.test b/mysql-test/t/select.test
index bb5a6b9c2fc..9081b93dbf8 100644
--- a/mysql-test/t/select.test
+++ b/mysql-test/t/select.test
@@ -4408,4 +4408,27 @@ SELECT * FROM t1, t2
DROP TABLE t1,t2;
+--echo #
+--echo # Bug mdev-4971: equality propagation after merging degenerate
+--echo # disjunction into embedding AND level
+--echo #
+
+CREATE TABLE t1 (pk1 int, a1 int, b1 int, PRIMARY KEY(pk1)) ENGINE=MyISAM;
+INSERT INTO t1 VALUES (1,10,100), (2,20,200) ;
+
+CREATE TABLE t2 (pk2 int, a2 int, PRIMARY KEY(pk2)) ENGINE=MyISAM;
+INSERT INTO t2 VALUES (1,1);
+
+SELECT * FROM t1, t2
+ WHERE a1 = pk2 AND ( ( b1 = 6 OR a2 > 4 ) AND pk2 = a2 OR pk1 IS NULL );
+EXPLAIN EXTENDED
+SELECT * FROM t1, t2
+ WHERE a1 = pk2 AND ( ( b1 = 6 OR a2 > 4 ) AND pk2 = a2 OR pk1 IS NULL );
+
+INSERT INTO t1 VALUES (3,1,6);
+SELECT * FROM t1, t2
+ WHERE a1 = pk2 AND ( ( b1 = 6 OR a2 > 4 ) AND pk2 = a2 OR pk1 IS NULL );
+
+DROP TABLE t1,t2;
+
--echo End of 5.3 tests