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#33452 | bar | 10 Jan |