Below is the list of changes that have just been committed into a local
4.1 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@stripped, 2006-08-11 13:19:44+05:00, bar@stripped +4 -0
mysqld --collation-server=xxx --character-set-server=yyy
didn't work as expected: collation_server was set not to xxx,
but to the default collation of character set "yyy".
With different argument order it worked as expected:
mysqld --character-set-server=yyy --collation-server=yyy
Fix:
initializate default_collation_name to 0
when processing --character-set-server
only if --collation-server has not been specified
in command line.
mysql-test/r/ctype_ucs2_def.result@stripped, 2006-08-11 13:19:40+05:00, bar@stripped +3 -0
Adding test cast
mysql-test/t/ctype_ucs2_def-master.opt@stripped, 2006-08-11 13:19:40+05:00, bar@stripped +1
-1
Adding test case
mysql-test/t/ctype_ucs2_def.test@stripped, 2006-08-11 13:19:40+05:00, bar@stripped +5 -0
Adding test case
sql/mysqld.cc@stripped, 2006-08-11 13:19:40+05:00, bar@stripped +4 -2
Don't clear default_collation_name when processing
--character-set-server if collation has already
been specified using --collation-server
# 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-4.1.b15276
--- 1.615/sql/mysqld.cc 2006-08-11 13:19:50 +05:00
+++ 1.616/sql/mysqld.cc 2006-08-11 13:19:50 +05:00
@@ -378,6 +378,7 @@
const char *opt_date_time_formats[3];
+char compiled_default_collation_name[]= MYSQL_DEFAULT_COLLATION_NAME;
char *language_ptr, *default_collation_name, *default_character_set_name;
char mysql_data_home_buff[2], *mysql_data_home=mysql_real_data_home;
struct passwd *user_info;
@@ -5936,7 +5937,7 @@
/* Variables in libraries */
charsets_dir= 0;
default_character_set_name= (char*) MYSQL_DEFAULT_CHARSET_NAME;
- default_collation_name= (char*) MYSQL_DEFAULT_COLLATION_NAME;
+ default_collation_name= compiled_default_collation_name;
sys_charset_system.value= (char*) system_charset_info->csname;
@@ -6091,7 +6092,8 @@
strmake(mysql_home,argument,sizeof(mysql_home)-1);
break;
case 'C':
- default_collation_name= 0;
+ if (default_collation_name == compiled_default_collation_name)
+ default_collation_name= 0;
break;
case 'l':
opt_log=1;
--- 1.1/mysql-test/r/ctype_ucs2_def.result 2006-08-11 13:19:50 +05:00
+++ 1.2/mysql-test/r/ctype_ucs2_def.result 2006-08-11 13:19:50 +05:00
@@ -1,3 +1,6 @@
+show variables like 'collation_server';
+Variable_name Value
+collation_server ucs2_unicode_ci
show variables like "%character_set_ser%";
Variable_name Value
character_set_server ucs2
--- 1.1/mysql-test/t/ctype_ucs2_def-master.opt 2006-08-11 13:19:50 +05:00
+++ 1.2/mysql-test/t/ctype_ucs2_def-master.opt 2006-08-11 13:19:50 +05:00
@@ -1 +1 @@
---default-character-set=ucs2 --default-collation=ucs2_unicode_ci
+--default-collation=ucs2_unicode_ci --default-character-set=ucs2
--- 1.1/mysql-test/t/ctype_ucs2_def.test 2006-08-11 13:19:50 +05:00
+++ 1.2/mysql-test/t/ctype_ucs2_def.test 2006-08-11 13:19:50 +05:00
@@ -1,4 +1,9 @@
#
+# MySQL Bug#15276: MySQL ignores collation-server
+#
+show variables like 'collation_server';
+
+#
# Bug#18004 Connecting crashes server when default charset is UCS2
#
show variables like "%character_set_ser%";
| Thread |
|---|
| • bk commit into 4.1 tree (bar:1.2533) | bar | 11 Aug |