mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
Bug#29850: Wrong charset of GROUP_CONCAT result when the select employs
a temporary table. The result string of the Item_func_group_concat wasn't initialized in the copying constructor of the Item_func_group_concat class. This led to a wrong charset of GROUP_CONCAT result when the select employs a temporary table. The copying constructor of the Item_func_group_concat class now correctly initializes the charset of the result string. mysql-test/t/func_gconcat.test: Added a test case for the bug#29850: Wrong charset of the GROUP_CONCAT result when the select employs a temporary table. mysql-test/r/func_gconcat.result: Added a test case for the bug#29850: Wrong charset of the GROUP_CONCAT result when the select employs a temporary table. sql/item_sum.cc: Bug#29850: Wrong charset of GROUP_CONCAT result when the select employs a temporary table. The copying constructor of the Item_func_group_concat class now correctly initializes the charset of the result string.
This commit is contained in:
parent
8b59beaebe
commit
7f6a816484
3 changed files with 21 additions and 0 deletions
|
@ -810,4 +810,13 @@ LENGTH( GROUP_CONCAT( a ) )
|
|||
65535
|
||||
SET group_concat_max_len= DEFAULT;
|
||||
DROP TABLE t1, t2, t3;
|
||||
set names latin1;
|
||||
create table t1 (id int, name varchar(20)) DEFAULT CHARSET=utf8;
|
||||
insert into t1 (id, name) values (1, "óra");
|
||||
insert into t1 (id, name) values (2, "óra");
|
||||
select b.id, group_concat(b.name) from t1 a, t1 b group by b.id;
|
||||
id group_concat(b.name)
|
||||
1 óra,óra
|
||||
2 óra,óra
|
||||
drop table t1;
|
||||
End of 5.0 tests
|
||||
|
|
|
@ -551,4 +551,15 @@ SELECT LENGTH( GROUP_CONCAT( a ) ) FROM t3 WHERE b = 3;
|
|||
SET group_concat_max_len= DEFAULT;
|
||||
DROP TABLE t1, t2, t3;
|
||||
|
||||
#
|
||||
# Bug#29850: Wrong charset of the GROUP_CONCAT result when the select employs
|
||||
# a temporary table.
|
||||
#
|
||||
set names latin1;
|
||||
create table t1 (id int, name varchar(20)) DEFAULT CHARSET=utf8;
|
||||
insert into t1 (id, name) values (1, "óra");
|
||||
insert into t1 (id, name) values (2, "óra");
|
||||
select b.id, group_concat(b.name) from t1 a, t1 b group by b.id;
|
||||
drop table t1;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
|
|
@ -3068,6 +3068,7 @@ Item_func_group_concat::Item_func_group_concat(THD *thd,
|
|||
original(item)
|
||||
{
|
||||
quick_group= item->quick_group;
|
||||
result.set_charset(collation.collation);
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue