summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbar@mysql.com <>2005-09-07 14:57:27 +0500
committerbar@mysql.com <>2005-09-07 14:57:27 +0500
commitcd5cd2bf79980459e0fed7dca8428aab02e04ba2 (patch)
treea0a4fca657a4f67b74274b1f305cdd52f1e549c9
parent03d10aeaca9f308f17b300044860bf6aad19e657 (diff)
parent2ff61bd6970818cbad3b07556087175443b3939a (diff)
downloadmariadb-git-cd5cd2bf79980459e0fed7dca8428aab02e04ba2.tar.gz
Merge mysql.com:/usr/home/bar/mysql-4.1.b12829
into mysql.com:/usr/home/bar/mysql-5.0
-rw-r--r--mysql-test/r/func_gconcat.result9
-rw-r--r--mysql-test/t/func_gconcat.test10
-rw-r--r--sql/item_sum.cc1
3 files changed, 20 insertions, 0 deletions
diff --git a/mysql-test/r/func_gconcat.result b/mysql-test/r/func_gconcat.result
index c4e8e08929d..1ad412209ad 100644
--- a/mysql-test/r/func_gconcat.result
+++ b/mysql-test/r/func_gconcat.result
@@ -469,6 +469,15 @@ select collation(group_concat(a,b)) from t1;
ERROR HY000: Illegal mix of collations (cp1250_general_ci,IMPLICIT) and (koi8r_general_ci,IMPLICIT) for operation 'group_concat'
drop table t1;
drop table t2;
+CREATE TABLE t1 (a CHAR(10) CHARACTER SET cp850);
+INSERT INTO t1 VALUES ('À');
+SELECT a FROM t1;
+a
+SELECT GROUP_CONCAT(a) FROM t1;
+GROUP_CONCAT(a)
+DROP TABLE t1;
CREATE TABLE t1 (id int);
SELECT GROUP_CONCAT(id) AS gc FROM t1 HAVING gc IS NULL;
gc
diff --git a/mysql-test/t/func_gconcat.test b/mysql-test/t/func_gconcat.test
index 0b61a445270..896c377662b 100644
--- a/mysql-test/t/func_gconcat.test
+++ b/mysql-test/t/func_gconcat.test
@@ -282,6 +282,16 @@ drop table t1;
drop table t2;
#
+# Bug #12829
+# Cannot convert the charset of a GROUP_CONCAT result
+#
+CREATE TABLE t1 (a CHAR(10) CHARACTER SET cp850);
+INSERT INTO t1 VALUES ('À');
+SELECT a FROM t1;
+SELECT GROUP_CONCAT(a) FROM t1;
+DROP TABLE t1;
+
+#
# bug #7769: group_concat returning null is checked in having
#
CREATE TABLE t1 (id int);
diff --git a/sql/item_sum.cc b/sql/item_sum.cc
index f6544d76504..17d82e3fc98 100644
--- a/sql/item_sum.cc
+++ b/sql/item_sum.cc
@@ -3001,6 +3001,7 @@ Item_func_group_concat::fix_fields(THD *thd, Item **ref)
args, arg_count, MY_COLL_ALLOW_CONV))
return 1;
+ result.set_charset(collation.collation);
result_field= 0;
null_value= 1;
thd->allow_sum_func= 1;