List:Commits« Previous MessageNext Message »
From:bar Date:August 11 2006 10:19am
Subject:bk commit into 4.1 tree (bar:1.2533)
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@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)bar11 Aug