From: Date: July 26 2005 11:52am Subject: bk commit into 5.0 tree (bar:1.1898) BUG#10201 List-Archive: http://lists.mysql.com/internals/27587 X-Bug: 10201 Message-Id: <200507260952.j6Q9qfAW052006@bar.intranet.mysql.r18.ru> Below is the list of changes that have just been committed into a local 5.0 repository of bar. When bar does a push these changes will be propagated to the main repository and, within 24 hours after the push, to the public repository. For information on how to access the public repository see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html ChangeSet 1.1898 05/07/26 14:52:33 bar@stripped +2 -0 Bug#10201 group_concat returns string with binary collation item.cc: After merge fixes. func_gconcat.result: After merge fixes sql/item.cc 1.159 05/07/26 14:51:32 bar@stripped +8 -2 After merge fixes. mysql-test/r/func_gconcat.result 1.40 05/07/26 14:51:27 bar@stripped +1 -1 After merge fixes # This is a BitKeeper patch. What follows are the unified diffs for the # set of deltas contained in the patch. The rest of the patch, the part # that BitKeeper cares about, is below these diffs. # User: bar # Host: bar.intranet.mysql.r18.ru # Root: /usr/home/bar/mysql-5.0 --- 1.158/sql/item.cc 2005-07-26 13:14:28 +05:00 +++ 1.159/sql/item.cc 2005-07-26 14:51:32 +05:00 @@ -1191,7 +1191,7 @@ } THD *thd= current_thd; - Item_arena *arena, backup; + Query_arena *arena, backup; bool res= FALSE; /* In case we're in statement prepare, create conversion item @@ -1220,7 +1220,8 @@ res= TRUE; break; // we cannot return here, we need to restore "arena". } - conv->fix_fields(thd, 0, &conv); + if ((*arg)->type() == Item::FIELD_ITEM) + ((Item_field *)(*arg))->no_const_subst= 1; /* If in statement prepare, then we create a converter for two constant items, do it once and then reuse it. @@ -1235,6 +1236,11 @@ *arg= conv; else thd->change_item_tree(arg, conv); + /* + We do not check conv->fixed, because Item_func_conv_charset which can + be return by safe_charset_converter can't be fixed at creation + */ + conv->fix_fields(thd, arg); } if (arena) thd->restore_backup_item_arena(arena, &backup); --- 1.39/mysql-test/r/func_gconcat.result 2005-07-26 13:14:27 +05:00 +++ 1.40/mysql-test/r/func_gconcat.result 2005-07-26 14:51:27 +05:00 @@ -458,7 +458,7 @@ show create table t2; Table Create Table t2 CREATE TABLE `t2` ( - `a` longtext character set cp1250 + `a` varchar(400) character set cp1250 default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 select collation(group_concat(a,_koi8r'test')) from t1; collation(group_concat(a,_koi8r'test'))