List:Commits« Previous MessageNext Message »
From:bar Date:June 23 2006 11:58am
Subject:bk commit into 4.1 tree (bar:1.2515) BUG#15276
View as plain text  
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
  1.2515 06/06/23 14:58:39 bar@stripped +4 -0
   Bug#15276: MySQL ignores collation-server
    Problem:
    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.

  sql/mysqld.cc
    1.614 06/06/23 14:58:33 bar@stripped +4 -2
    Don't clear default_collation_name when processing 
    --character-set-server if collation has already
    been specified using --collation-server

  mysql-test/t/ctype_ucs2_def.test
    1.2 06/06/23 14:58:33 bar@stripped +5 -0
    Adding test case

  mysql-test/t/ctype_ucs2_def-master.opt
    1.2 06/06/23 14:58:33 bar@stripped +1 -1
    Specifying variables in reverse order, to cover the bug.
    

  mysql-test/r/ctype_ucs2_def.result
    1.2 06/06/23 14:58:33 bar@stripped +3 -0
    Adding test case

# 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.b15276v1

--- 1.613/sql/mysqld.cc	2006-05-23 13:33:50 +05:00
+++ 1.614/sql/mysqld.cc	2006-06-23 14:58:33 +05:00
@@ -377,6 +377,7 @@ key_map key_map_full(0);                
 
 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;
@@ -5926,7 +5927,7 @@ static void mysql_init_variables(void)
   /* 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;
 
 
@@ -6081,7 +6082,8 @@ get_one_option(int optid, const struct m
     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-03-20 14:36:28 +04:00
+++ 1.2/mysql-test/r/ctype_ucs2_def.result	2006-06-23 14:58:33 +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-03-20 14:36:28 +04:00
+++ 1.2/mysql-test/t/ctype_ucs2_def-master.opt	2006-06-23 14:58:33 +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-03-20 14:36:28 +04:00
+++ 1.2/mysql-test/t/ctype_ucs2_def.test	2006-06-23 14:58:33 +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.2515) BUG#15276bar23 Jun