diff --git a/mysql-test/r/view.result b/mysql-test/r/view.result index 52ccabf60cd..22edc4969e4 100644 --- a/mysql-test/r/view.result +++ b/mysql-test/r/view.result @@ -2323,6 +2323,18 @@ id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY t3 ALL NULL NULL NULL NULL 3 Using where DROP VIEW v1,v2; DROP TABLE t1,t2,t3; +create table t1 (f1 int, f2 int); +insert into t1 values(1,1),(1,2),(1,3); +create view v1 as select f1 ,group_concat(f2 order by f2 asc) from t1 group by f1; +create view v2 as select f1 ,group_concat(f2 order by f2 desc) from t1 group by f1; +select * from v1; +f1 group_concat(f2 order by f2 asc) +1 1,2,3 +select * from v2; +f1 group_concat(f2 order by f2 desc) +1 3,2,1 +drop view v1,v2; +drop table t1; create table t1 (x int, y int); create table t2 (x int, y int, z int); create table t3 (x int, y int, z int); @@ -2344,15 +2356,3 @@ count(*) 0 drop view v1; drop table t1,t2,t3,t4; -create table t1 (f1 int, f2 int); -insert into t1 values(1,1),(1,2),(1,3); -create view v1 as select f1 ,group_concat(f2 order by f2 asc) from t1 group by f1; -create view v2 as select f1 ,group_concat(f2 order by f2 desc) from t1 group by f1; -select * from v1; -f1 group_concat(f2 order by f2 asc) -1 1,2,3 -select * from v2; -f1 group_concat(f2 order by f2 desc) -1 3,2,1 -drop view v1,v2; -drop table t1; diff --git a/mysql-test/t/view.test b/mysql-test/t/view.test index 7918c78deb3..7ab2c4779b9 100644 --- a/mysql-test/t/view.test +++ b/mysql-test/t/view.test @@ -2190,13 +2190,6 @@ DROP VIEW v1,v2; DROP TABLE t1,t2,t3; # -prepare stmt1 from "select count(*) from v1 where x = ?"; -set @parm1=1; - -execute stmt1 using @parm1; -execute stmt1 using @parm1; -drop view v1; -drop table t1,t2,t3,t4; # Bug #14466 lost sort order in GROUP_CONCAT() in a view # create table t1 (f1 int, f2 int); @@ -2207,3 +2200,27 @@ select * from v1; select * from v2; drop view v1,v2; drop table t1; + +# +# BUG#14026 Crash on second PS execution when using views +# +create table t1 (x int, y int); +create table t2 (x int, y int, z int); +create table t3 (x int, y int, z int); +create table t4 (x int, y int, z int); + +create view v1 as +select t1.x +from ( + (t1 join t2 on ((t1.y = t2.y))) + join + (t3 left join t4 on (t3.y = t4.y) and (t3.z = t4.z)) +); + +prepare stmt1 from "select count(*) from v1 where x = ?"; +set @parm1=1; + +execute stmt1 using @parm1; +execute stmt1 using @parm1; +drop view v1; +drop table t1,t2,t3,t4;