diff options
author | Alexander Barkov <bar@mnogosearch.org> | 2013-10-16 17:58:54 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mnogosearch.org> | 2013-10-16 17:58:54 +0400 |
commit | 5064d03b80f2219cbcfbd1e4e66243fc713e7943 (patch) | |
tree | 48f5e7ad5b5b1bf7b44316ec8204893419558c3e /mysql-test/t/view.test | |
parent | 73f8b4dac263964482b532199151c87596f191b7 (diff) | |
parent | 3cc3bcfcc5f80505fa48681b86d5f486cf9dc248 (diff) | |
download | mariadb-git-5064d03b80f2219cbcfbd1e4e66243fc713e7943.tar.gz |
Merge 5.3 -> 5.5.
Diffstat (limited to 'mysql-test/t/view.test')
-rw-r--r-- | mysql-test/t/view.test | 37 |
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 # ----------------------------------------------------------------- |