List:Commits« Previous MessageNext Message »
From:bar Date:August 7 2007 4:25pm
Subject:bk commit into 5.0 tree (bar:1.2502) BUG#28875
View as plain text  
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@stripped, 2007-08-07 19:25:45+05:00, bar@stripped +3 -0
  Reversing additional change suggested by Serg
  under terms of bug#28875 for better performance.
  The change appeared to require more changes in item_cmpfunc.cc,
  which is dangerous in 5.0.
      
  Conversion between a latin1 column and an ascii string constant
  stopped to work.

  mysql-test/r/ctype_recoding.result@stripped, 2007-08-07 19:25:43+05:00, bar@stripped +8 -0
    Adding test case.

  mysql-test/t/ctype_recoding.test@stripped, 2007-08-07 19:25:43+05:00, bar@stripped +10 -0
    Adding test case.

  sql/sql_string.cc@stripped, 2007-08-07 19:25:43+05:00, bar@stripped +0 -2
    Reversing additional change suggested by Serg
    under terms of bug#28875 for better performance.
    The change appeared to require more changes in item_cmpfunc.cc,
    which is dangerous in 5.0.
        
    Conversion between a latin1 column and an ascii string constant
    stopped to work.

diff -Nrup a/mysql-test/r/ctype_recoding.result b/mysql-test/r/ctype_recoding.result
--- a/mysql-test/r/ctype_recoding.result	2006-10-30 10:13:58 +04:00
+++ b/mysql-test/r/ctype_recoding.result	2007-08-07 19:25:43 +05:00
@@ -187,6 +187,14 @@ select * from t1 where a=_latin1'вася';
 ERROR HY000: Illegal mix of collations (cp1251_general_ci,IMPLICIT) and
(latin1_swedish_ci,COERCIBLE) for operation '='
 drop table t1;
 set names latin1;
+set names ascii;
+create table t1 (a char(1) character set latin1);
+insert into t1 values ('a');
+select * from t1 where a='a';
+a
+a
+drop table t1;
+set names latin1;
 create table t1 (a char(10) character set utf8 collate utf8_bin);
 insert into t1 values ('       xxx');
 select * from t1 where a=lpad('xxx',10,' ');
diff -Nrup a/mysql-test/t/ctype_recoding.test b/mysql-test/t/ctype_recoding.test
--- a/mysql-test/t/ctype_recoding.test	2006-09-01 11:49:52 +05:00
+++ b/mysql-test/t/ctype_recoding.test	2007-08-07 19:25:43 +05:00
@@ -153,6 +153,16 @@ drop table t1;
 set names latin1;
 
 #
+# Test the same with ascii
+#
+set names ascii;
+create table t1 (a char(1) character set latin1);
+insert into t1 values ('a');
+select * from t1 where a='a';
+drop table t1;
+set names latin1;
+
+#
 # Bug#10446 Illegal mix of collations
 #
 create table t1 (a char(10) character set utf8 collate utf8_bin);
diff -Nrup a/sql/sql_string.cc b/sql/sql_string.cc
--- a/sql/sql_string.cc	2007-08-03 15:25:21 +05:00
+++ b/sql/sql_string.cc	2007-08-07 19:25:43 +05:00
@@ -263,8 +263,6 @@ bool String::needs_conversion(uint32 arg
       (to_cs == &my_charset_bin) || 
       (to_cs == from_cs) ||
       my_charset_same(from_cs, to_cs) ||
-      (my_charset_is_ascii_based(to_cs) &&
-       my_charset_is_8bit_pure_ascii(from_cs)) ||
       ((from_cs == &my_charset_bin) &&
        (!(*offset=(arg_length % to_cs->mbminlen)))))
     return FALSE;
Thread
bk commit into 5.0 tree (bar:1.2502) BUG#28875bar7 Aug