summaryrefslogtreecommitdiff
path: root/mysql-test/t/view.test
diff options
context:
space:
mode:
authorAlexander Barkov <bar@mnogosearch.org>2013-10-16 17:58:54 +0400
committerAlexander Barkov <bar@mnogosearch.org>2013-10-16 17:58:54 +0400
commit5064d03b80f2219cbcfbd1e4e66243fc713e7943 (patch)
tree48f5e7ad5b5b1bf7b44316ec8204893419558c3e /mysql-test/t/view.test
parent73f8b4dac263964482b532199151c87596f191b7 (diff)
parent3cc3bcfcc5f80505fa48681b86d5f486cf9dc248 (diff)
downloadmariadb-git-5064d03b80f2219cbcfbd1e4e66243fc713e7943.tar.gz
Merge 5.3 -> 5.5.
Diffstat (limited to 'mysql-test/t/view.test')
-rw-r--r--mysql-test/t/view.test37
1 files changed, 37 insertions, 0 deletions
diff --git a/mysql-test/t/view.test b/mysql-test/t/view.test
index 404780a3368..0168344a3d2 100644
--- a/mysql-test/t/view.test
+++ b/mysql-test/t/view.test
@@ -4808,6 +4808,43 @@ deallocate prepare s;
drop view v1;
drop tables t1,t2;
+--echo #
+--echo # MDEV-5034 (duplicate of MDEV-5107):
+--echo # Left Join Yields All Nulls Instead of Appropriate Matches
+--echo #
+
+ --echo # test #1
+
+CREATE TABLE t1 (state VARCHAR(32), INDEX(state));
+INSERT INTO t1 VALUES ('Indiana'),('Vermont');
+
+CREATE TABLE t2 (state VARCHAR(32));
+INSERT INTO t2 VALUES ('Hawaii'),('Oregon'),('Vermont');
+
+CREATE ALGORITHM=MERGE VIEW v1 AS SELECT t1.* FROM t2, t1;
+SELECT * FROM t1 AS outer_t1 LEFT JOIN v1 AS joined_t1
+ON (joined_t1.state = outer_t1.state AND joined_t1.state IN ( SELECT 'Vermont' UNION SELECT 'Florida' ) );
+
+SELECT * FROM t1 AS outer_t1 LEFT JOIN (SELECT t1.* FROM t2, t1) AS joined_t1 ON (joined_t1.state = outer_t1.state AND joined_t1.state IN ( SELECT 'Vermont' UNION SELECT 'Florida' ) );
+
+drop view v1;
+drop table t1, t2;
+
+--echo # test #1
+
+CREATE TABLE t1 (a INT, b VARCHAR(1), INDEX(b,a));
+INSERT INTO t1 VALUES (4,'p'),(1,'q'),(9,'w');
+
+CREATE TABLE t2 (c VARCHAR(1), INDEX(c));
+INSERT INTO t2 VALUES ('q'),('a');
+CREATE ALGORITHM=MERGE VIEW v1 AS SELECT t1a.* FROM t1, t1 AS t1a;
+SELECT * FROM t2 LEFT JOIN v1 ON ( c=b AND a IN ( 1,6 ) );
+CREATE OR REPLACE ALGORITHM=TEMPTABLE VIEW v1 AS SELECT t1a.* FROM t1, t1 AS t1a;
+SELECT * FROM t2 LEFT JOIN v1 ON ( c=b AND a IN ( 1,6 ) );
+
+drop view v1;
+drop table t1,t2;
+
--echo # -----------------------------------------------------------------
--echo # -- End of 5.3 tests.
--echo # -----------------------------------------------------------------