summaryrefslogtreecommitdiff
path: root/mysql-test/include
diff options
context:
space:
mode:
authorAlexander Barkov <bar@mysql.com>2010-10-06 16:15:59 +0400
committerAlexander Barkov <bar@mysql.com>2010-10-06 16:15:59 +0400
commitab15833ac265e11710e4de1390a82678011aab59 (patch)
treee9565139cee36da8b86efaf97be3791262ca1ac3 /mysql-test/include
parent817f02fd5a90ce09983162b7d60f56b9b0d36868 (diff)
downloadmariadb-git-ab15833ac265e11710e4de1390a82678011aab59.tar.gz
Bug#55744 GROUP_CONCAT + CASE + ucs return garbage
Problem: CASE didn't work with a mixture of different character sets in THEN/ELSE in some cases. This happened because after character set aggregation newly created Item_func_conv_charset items corresponding to THEN/ELSE arguments were not put back to args[] array. Fix: put all Item_func_conv_charset back to args[]. @ mysql-test/include/ctype_numconv.inc @ mysql-test/r/ctype_ucs.result Adding tests @ sql/item_cmpfunc.cc Put "agg" back to args[] after character set aggregation.
Diffstat (limited to 'mysql-test/include')
-rw-r--r--mysql-test/include/ctype_numconv.inc7
1 files changed, 1 insertions, 6 deletions
diff --git a/mysql-test/include/ctype_numconv.inc b/mysql-test/include/ctype_numconv.inc
index 06a9107e963..c4a39879947 100644
--- a/mysql-test/include/ctype_numconv.inc
+++ b/mysql-test/include/ctype_numconv.inc
@@ -1635,12 +1635,7 @@ CREATE TABLE t1 (a MEDIUMINT NULL) ENGINE=MYISAM;
INSERT INTO t1 VALUES (1234567);
SELECT GROUP_CONCAT(IFNULL(a,'')) FROM t1;
SELECT GROUP_CONCAT(IF(a,a,'')) FROM t1;
-if (`SELECT @@character_set_connection != 'ucs2'`)
-{
- # Temporarily disable for ucs2
- # For details, see Bug#55744 GROUP_CONCAT + CASE + ucs return garbage
- SELECT GROUP_CONCAT(CASE WHEN a THEN a ELSE '' END) FROM t1;
-}
+SELECT GROUP_CONCAT(CASE WHEN a THEN a ELSE '' END) FROM t1;
--enable_metadata
SELECT COALESCE(a,'') FROM t1 GROUP BY 1;
--disable_metadata