diff options
Diffstat (limited to 'mysql-test/t/view.test')
-rw-r--r-- | mysql-test/t/view.test | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/mysql-test/t/view.test b/mysql-test/t/view.test index 17026e45724..c4881f7df3f 100644 --- a/mysql-test/t/view.test +++ b/mysql-test/t/view.test @@ -4618,6 +4618,8 @@ DROP TABLE t1,t2,t3; --echo # inserting into a view over a view --echo # +flush status; +--disable_ps_protocol CREATE TABLE t1 (a INT); CREATE ALGORITHM=MERGE VIEW v1 AS SELECT a1.* FROM t1 AS a1, t1 AS a2; CREATE ALGORITHM=MERGE VIEW v2 AS SELECT * FROM v1; @@ -4625,7 +4627,40 @@ INSERT INTO v2 (a) VALUES (1) ; select * from t1; drop view v2,v1; drop table t1; +show status like '%view%'; +show status like 'Opened_table%'; +--enable_ps_protocol +--echo # +--echo # MDEV-486 LP BUG#1010116 Incorrect query results in +--echo # view and derived tables +--echo # + +SELECT +`Derived1`.`id`, +`Derived2`.`Val1` +FROM (select 30631 as `id`) AS `Derived1` LEFT OUTER JOIN (SELECT +2 as `id`, +1 AS `Val1` +FROM (select 30631 as `id`) AS `Derived3`) AS `Derived2` ON `Derived1`.`id` = `Derived2`.`id`; + +create table t1 ( id int ); +insert into t1 values (30631); +create table t2 ( id int ); +insert into t2 values (30631); +create algorithm=MERGE view v2 as select 2 as id, 1 as val1 from t2; +select t1.*, v2.* from t1 left join v2 on t1.id = v2.id; +drop view v2; +drop table t1,t2; + +create table t1 ( id int ); +insert into t1 values (30631); +create table t2 ( id int ); +insert into t2 values (30631); +create algorithm=MERGE view v2 as select 2 as id, id is null as bbb, id as iddqd, 1 as val1 from t2; +select t1.*, v2.* from t1 left join v2 on t1.id = v2.id; +drop view v2; +drop table t1,t2; --echo # ----------------------------------------------------------------- --echo # -- End of 5.3 tests. --echo # ----------------------------------------------------------------- |