List:Commits« Previous MessageNext Message »
From:bar Date:January 10 2008 11:51am
Subject:bk commit into 6.0 tree (bar:1.2706) BUG#33452
View as plain text  
Below is the list of changes that have just been committed into a local
6.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, 2008-01-10 15:51:02+04:00, bar@stripped +3 -0
  Bug#33452 Primary difference between capital and small letters U and O
  Problem: wrong primary weight for all variants of capital letters "U" and "O".
  Fix: changing primary weights for the letters "U" and "O"
  to be equal to their small counterparts.

  mysql-test/r/ctype_latin2_ch.result@stripped, 2008-01-10 15:51:00+04:00, bar@stripped +52 -0
    Adding tests

  mysql-test/t/ctype_latin2_ch.test@stripped, 2008-01-10 15:51:00+04:00, bar@stripped +38 -0
    Adding tests

  strings/ctype-czech.c@stripped, 2008-01-10 15:51:00+04:00, bar@stripped +3 -3
    Fixing primary weights for the capital letters "O" and "U" 
    with various accents.

diff -Nrup a/mysql-test/r/ctype_latin2_ch.result b/mysql-test/r/ctype_latin2_ch.result
--- a/mysql-test/r/ctype_latin2_ch.result	2007-07-20 16:06:02 +05:00
+++ b/mysql-test/r/ctype_latin2_ch.result	2008-01-10 15:51:00 +04:00
@@ -353,3 +353,55 @@ hex(a)
 05FF
 FF
 drop table t1;
+create table t1 (
+ch varchar(1),
+name varchar(64)
+) character set latin2 collate latin2_czech_cs;
+insert into t1 values (0x6F,'LATIN SMALL LETTER O');
+insert into t1 values (0xF3,'LATIN SMALL LETTER O WITH ACUTE');
+insert into t1 values (0xF4,'LATIN SMALL LETTER O WITH CIRCUMFLEX');
+insert into t1 values (0xF6,'LATIN SMALL LETTER O WITH DIAERESIS');
+insert into t1 values (0xF5,'LATIN SMALL LETTER O WITH DOUBLE ACUTE');
+insert into t1 values (0x4F,'LATIN CAPITAL LETTER O');
+insert into t1 values (0xD3,'LATIN CAPITAL LETTER O WITH ACUTE');
+insert into t1 values (0xD4,'LATIN CAPITAL LETTER O WITH CURCUMFLEX');
+insert into t1 values (0xD6,'LATIN CAPITAL LETTER O WITH DIAERESIS');
+insert into t1 values (0xD5,'LATIN CAPITAL LETTER O WITH DOUBLE ACUTE');
+insert into t1 values (0x75,'LATIN SMALL LETTER U');
+insert into t1 values (0xFA,'LATIN SMALL LETTER U WITH ACUTE');
+insert into t1 values (0xF9,'LATIN SMALL LETTER U WITH RING ABOVE');
+insert into t1 values (0xFC,'LATIN SMALL LETTER U WITH DIAERESIS');
+insert into t1 values (0xFB,'LATIN SMALL LETTER U WITH DOUBLE ACUTE');
+insert into t1 values (0x55,'LATIN CAPITAL LETTER U');
+insert into t1 values (0xDA,'LATIN CAPITAL LETTER U WITH ACUTE');
+insert into t1 values (0xD9,'LATIN CAPITAL LETTER U WITH RING ABOVE');
+insert into t1 values (0xDC,'LATIN CAPITAL LETTER U WITH DIAERESIS');
+insert into t1 values (0xDB,'LATIN CAPITAL LETTER U WITH DOUBLE ACUTE');
+select
+hex(weight_string(ch level 1)) l1,
+hex(weight_string(ch level 2)) l2,
+hex(weight_string(ch level 3)) l3,
+hex(weight_string(ch level 4)) l4,
+name from t1 order by l1, l2, l3, l4;
+l1	l2	l3	l4	name
+9201	2001	0301	6F00	LATIN SMALL LETTER O
+9201	2001	0501	4F00	LATIN CAPITAL LETTER O
+9201	2201	0301	F300	LATIN SMALL LETTER O WITH ACUTE
+9201	2201	0501	D300	LATIN CAPITAL LETTER O WITH ACUTE
+9201	2401	0301	F400	LATIN SMALL LETTER O WITH CIRCUMFLEX
+9201	2401	0501	D400	LATIN CAPITAL LETTER O WITH CURCUMFLEX
+9201	2701	0301	F600	LATIN SMALL LETTER O WITH DIAERESIS
+9201	2701	0501	D600	LATIN CAPITAL LETTER O WITH DIAERESIS
+9201	2801	0301	F500	LATIN SMALL LETTER O WITH DOUBLE ACUTE
+9201	2801	0501	D500	LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+9B01	2001	0301	7500	LATIN SMALL LETTER U
+9B01	2001	0501	5500	LATIN CAPITAL LETTER U
+9B01	2201	0301	FA00	LATIN SMALL LETTER U WITH ACUTE
+9B01	2201	0501	DA00	LATIN CAPITAL LETTER U WITH ACUTE
+9B01	2601	0301	F900	LATIN SMALL LETTER U WITH RING ABOVE
+9B01	2601	0501	D900	LATIN CAPITAL LETTER U WITH RING ABOVE
+9B01	2701	0301	FC00	LATIN SMALL LETTER U WITH DIAERESIS
+9B01	2701	0501	DC00	LATIN CAPITAL LETTER U WITH DIAERESIS
+9B01	2801	0301	FB00	LATIN SMALL LETTER U WITH DOUBLE ACUTE
+9B01	2801	0501	DB00	LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+drop table t1;
diff -Nrup a/mysql-test/t/ctype_latin2_ch.test b/mysql-test/t/ctype_latin2_ch.test
--- a/mysql-test/t/ctype_latin2_ch.test	2007-07-20 16:06:02 +05:00
+++ b/mysql-test/t/ctype_latin2_ch.test	2008-01-10 15:51:00 +04:00
@@ -55,3 +55,41 @@ insert into t1 set a=0x5ff;
 insert into t1 set a=0xff;
 select hex(a) from t1;
 drop table t1;
+
+#
+# Bug#33452 Primary difference between capital and small letters U and O
+#
+create table t1 (
+  ch varchar(1),
+  name varchar(64)
+) character set latin2 collate latin2_czech_cs;
+
+insert into t1 values (0x6F,'LATIN SMALL LETTER O');
+insert into t1 values (0xF3,'LATIN SMALL LETTER O WITH ACUTE');
+insert into t1 values (0xF4,'LATIN SMALL LETTER O WITH CIRCUMFLEX');
+insert into t1 values (0xF6,'LATIN SMALL LETTER O WITH DIAERESIS');
+insert into t1 values (0xF5,'LATIN SMALL LETTER O WITH DOUBLE ACUTE');
+insert into t1 values (0x4F,'LATIN CAPITAL LETTER O');
+insert into t1 values (0xD3,'LATIN CAPITAL LETTER O WITH ACUTE');
+insert into t1 values (0xD4,'LATIN CAPITAL LETTER O WITH CURCUMFLEX');
+insert into t1 values (0xD6,'LATIN CAPITAL LETTER O WITH DIAERESIS');
+insert into t1 values (0xD5,'LATIN CAPITAL LETTER O WITH DOUBLE ACUTE');
+
+insert into t1 values (0x75,'LATIN SMALL LETTER U');
+insert into t1 values (0xFA,'LATIN SMALL LETTER U WITH ACUTE');
+insert into t1 values (0xF9,'LATIN SMALL LETTER U WITH RING ABOVE');
+insert into t1 values (0xFC,'LATIN SMALL LETTER U WITH DIAERESIS');
+insert into t1 values (0xFB,'LATIN SMALL LETTER U WITH DOUBLE ACUTE');
+insert into t1 values (0x55,'LATIN CAPITAL LETTER U');
+insert into t1 values (0xDA,'LATIN CAPITAL LETTER U WITH ACUTE');
+insert into t1 values (0xD9,'LATIN CAPITAL LETTER U WITH RING ABOVE');
+insert into t1 values (0xDC,'LATIN CAPITAL LETTER U WITH DIAERESIS');
+insert into t1 values (0xDB,'LATIN CAPITAL LETTER U WITH DOUBLE ACUTE');
+select
+hex(weight_string(ch level 1)) l1,
+hex(weight_string(ch level 2)) l2,
+hex(weight_string(ch level 3)) l3,
+hex(weight_string(ch level 4)) l4,
+name from t1 order by l1, l2, l3, l4;
+drop table t1;
+
diff -Nrup a/strings/ctype-czech.c b/strings/ctype-czech.c
--- a/strings/ctype-czech.c	2007-07-20 16:06:02 +05:00
+++ b/strings/ctype-czech.c	2008-01-10 15:51:00 +04:00
@@ -78,8 +78,8 @@ static const uchar *CZ_SORT_TABLE[]=
   "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
   "\x47\x58\x5C\x6A\x77\x6B\x69\x5B\x5E\x5F\x66\x6E\x55\x54\x5A\x67"
   "\x78\x79\x7A\x7B\x7C\x7D\x7E\x7F\x80\x81\x57\x56\x71\x72\x73\x59"
-  "\x65\x82\x83\xFF\x86\x87\x88\x89\x8A\x8C\x8D\x8E\x8F\x90\x91\x93"
-  "\x94\x95\x96\x98\x9A\x9C\x9D\x9E\x9F\xA0\xA1\x60\x68\x61\x4B\x52"
+  "\x65\x82\x83\xFF\x86\x87\x88\x89\x8A\x8C\x8D\x8E\x8F\x90\x91\x92"
+  "\x94\x95\x96\x98\x9A\x9B\x9D\x9E\x9F\xA0\xA1\x60\x68\x61\x4B\x52"
   "\x49\x82\x83\xFF\x86\x87\x88\x89\x8A\x8C\x8D\x8E\x8F\x90\x91\x92"
   "\x94\x95\x96\x98\x9A\x9B\x9D\x9E\x9F\xA0\xA1\x62\x74\x63\x75\x00"
   "\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
@@ -87,7 +87,7 @@ static const uchar *CZ_SORT_TABLE[]=
   "\x48\x82\x4C\x8F\x76\x8F\x98\x64\x4E\x99\x98\x9A\xA1\x53\xA2\xA1"
   "\x6D\x82\x51\x8F\x4A\x8F\x98\x6C\x50\x99\x98\x9A\xA1\x4F\xA2\xA1"
   "\x96\x82\x82\x82\x82\x8F\x84\x84\x85\x87\x87\x87\x87\x8C\x8C\x86"
-  "\x86\x91\x91\x93\x93\x93\x93\x70\x97\x9C\x9C\x9C\x9C\xA0\x9A\x98"
+  "\x86\x91\x91\x92\x92\x92\x92\x70\x97\x9B\x9B\x9B\x9B\xA0\x9A\x98"
   "\x96\x82\x82\x82\x82\x8F\x84\x84\x85\x87\x87\x87\x87\x8C\x8C\x86"
   "\x86\x91\x91\x92\x92\x92\x92\x6F\x97\x9B\x9B\x9B\x9B\xA0\x9A\x4D",
 
Thread
bk commit into 6.0 tree (bar:1.2706) BUG#33452bar10 Jan