Loading mysql-test/r/view.result +12 −0 Original line number Diff line number Diff line Loading @@ -2323,3 +2323,15 @@ 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; mysql-test/t/view.test +11 −1 Original line number Diff line number Diff line Loading @@ -2189,4 +2189,14 @@ EXPLAIN SELECT * FROM v2 WHERE a=1; DROP VIEW v1,v2; DROP TABLE t1,t2,t3; # # Bug #14466 lost sort order in GROUP_CONCAT() in a view # 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; select * from v2; drop view v1,v2; drop table t1; sql/item_sum.cc +4 −0 Original line number Diff line number Diff line Loading @@ -3173,6 +3173,10 @@ void Item_func_group_concat::print(String *str) if (i) str->append(','); (*order[i]->item)->print(str); if (order[i]->asc) str->append(" ASC"); else str->append(" DESC"); } } str->append(" separator \'", 12); Loading Loading
mysql-test/r/view.result +12 −0 Original line number Diff line number Diff line Loading @@ -2323,3 +2323,15 @@ 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;
mysql-test/t/view.test +11 −1 Original line number Diff line number Diff line Loading @@ -2189,4 +2189,14 @@ EXPLAIN SELECT * FROM v2 WHERE a=1; DROP VIEW v1,v2; DROP TABLE t1,t2,t3; # # Bug #14466 lost sort order in GROUP_CONCAT() in a view # 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; select * from v2; drop view v1,v2; drop table t1;
sql/item_sum.cc +4 −0 Original line number Diff line number Diff line Loading @@ -3173,6 +3173,10 @@ void Item_func_group_concat::print(String *str) if (i) str->append(','); (*order[i]->item)->print(str); if (order[i]->asc) str->append(" ASC"); else str->append(" DESC"); } } str->append(" separator \'", 12); Loading