MySQL Lists are EOL. Please join:

List:Internals« Previous MessageNext Message »
From:bar Date:October 5 2005 2:20pm
Subject:bk commit into 4.1 tree (bar:1.2473) BUG#12476
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.2473 05/10/05 19:20:49 bar@stripped +3 -0
    Bug#12476 Some big5 codes are still missing.
  ctype-big5.c:
    Adding extra cp950 characters into Unicode mapping.
  ctype_big5.result, ctype_big5.test:
    Adding test case

  mysql-test/r/ctype_big5.result
    1.10 05/10/05 19:20:19 bar@stripped +19 -0
    Adding test case

  mysql-test/t/ctype_big5.test
    1.10 05/10/05 19:20:08 bar@stripped +15 -0
    Adding test case

  strings/ctype-big5.c
    1.79 05/10/05 19:19:19 bar@stripped +11 -10
    Bug#12476 Some big5 codes are still missing.
    Adding extra cp950 characters into Unicode mapping.

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

--- 1.78/strings/ctype-big5.c	2005-09-21 22:10:01 +05:00
+++ 1.79/strings/ctype-big5.c	2005-10-05 19:19:19 +05:00
@@ -1695,7 +1695,7 @@
 0x2467,0x2468,0x2469,0x2474,0x2475,0x2476,0x2477,0x2478,
 0x2479,0x247A,0x247B,0x247C,0x247D};
 
-/* page 1 0xC940-0xF9D5 */
+/* page 1 0xC940-0xF9DC */
 static uint16 tab_big5_uni1[]={
 0x4E42,0x4E5C,0x51F5,0x531A,0x5382,0x4E07,0x4E0C,0x4E47,
 0x4E8D,0x56D7,0xFA0C,0x5C6E,0x5F73,0x4E0F,0x5187,0x4E0E,
@@ -3251,12 +3251,13 @@
 0x9E17,0x9F48,0x6207,0x6B1E,0x7227,0x864C,0x8EA8,0x9482,
 0x9480,0x9481,0x9A69,0x9A68,0x9B2E,0x9E19,0x7229,0x864B,
 0x8B9F,0x9483,0x9C79,0x9EB7,0x7675,0x9A6B,0x9C7A,0x9E1D,
-0x7069,0x706A,0x9EA4,0x9F7E,0x9F49,0x9F98};
+0x7069,0x706A,0x9EA4,0x9F7E,0x9F49,0x9F98,0x7881,0x92B9,
+0x88CF,0x58BB,0x6052,0x7CA7,0x5AFA};
 
 static int func_big5_uni_onechar(int code){
   if ((code>=0xA140)&&(code<=0xC7FC))
     return(tab_big5_uni0[code-0xA140]);
-  if ((code>=0xC940)&&(code<=0xF9D5))
+  if ((code>=0xC940)&&(code<=0xF9DC))
     return(tab_big5_uni1[code-0xC940]);
   return(0);
 }
@@ -3885,7 +3886,7 @@
 0xE54D,0xE552,     0,0xE54E,     0,0xE551,0xBC5C,     0,
 0xBEA5,0xBC5B,     0,0xE54A,0xE550,     0,0xBC5A,0xE54F,
      0,0xE54C,     0,0xBC58,     0,     0,     0,     0,
-     0,     0,0xE94D,     0,0xE94F,0xE94A,0xBEC1,0xE94C,
+     0,     0,0xE94D,0xF9D9,0xE94F,0xE94A,0xBEC1,0xE94C,
      0,0xBEC0,0xE94E,     0,     0,0xBEC3,0xE950,0xBEC2,
 0xE949,0xE94B,     0,     0,     0,     0,0xC0A5,0xECCC,
      0,0xC0A4,0xECCD,0xC0A3,0xECCB,0xC0A2,0xECCA,     0,
@@ -3957,7 +3958,7 @@
 0xE175,0xB9DE,0xE174,0xB9E4,     0,0xE16D,0xB9DF,     0,
 0xE17B,0xB9E0,0xE16F,0xE172,0xE177,0xE171,0xE16C,     0,
      0,     0,     0,0xE173,0xE555,0xBC61,0xE558,0xE557,
-0xE55A,0xE55C,     0,0xBC5F,     0,0xE556,     0,0xE554,
+0xE55A,0xE55C,0xF9DC,0xBC5F,     0,0xE556,     0,0xE554,
      0,0xE55D,0xE55B,0xE559,     0,0xE55F,     0,0xE55E,
 0xBC63,0xBC5E,     0,0xBC60,0xBC62,     0,     0,0xE560,
 0xE957,     0,     0,0xE956,0xE955,     0,0xE958,0xE951,
@@ -4128,7 +4129,7 @@
      0,0xCEC0,     0,     0,     0,     0,     0,     0,
 0xCECA,0xD1A1,0xCECB,0xABEE,0xCECE,0xCEC4,0xABED,0xCEC6,
      0,0xCEC7,     0,     0,0xCEC9,0xABE9,     0,     0,
-0xAEA3,     0,     0,0xCEC5,0xCEC1,0xAEA4,     0,     0,
+0xAEA3,     0,0xF9DA,0xCEC5,0xCEC1,0xAEA4,     0,     0,
 0xCECF,0xAE7E,0xD17D,0xCEC8,     0,0xD17C,0xCEC3,0xCECC,
      0,     0,0xABEC,0xAEA1,0xABF2,0xAEA2,0xCED0,0xD17E,
 0xABEB,0xAEA6,0xABF1,0xABF0,0xABEF,0xAEA5,0xCED1,0xAEA7,
@@ -4902,7 +4903,7 @@
 0xDACF,0xDACE,0xDACB,0xB2B8,0xB577,0xDAC9,0xDACC,0xB578,
 0xDACD,0xDACA,     0,     0,     0,     0,     0,     0,
      0,0xDEEE,     0,0xDEF2,0xB84E,     0,0xE2F0,0xB851,
-0xDEF0,     0,     0,0xDEED,0xDEE8,0xDEEA,0xDEEB,0xDEE4,
+0xDEF0,0xF9D6,     0,0xDEED,0xDEE8,0xDEEA,0xDEEB,0xDEE4,
      0,0xB84D,     0,     0,0xB84C,     0,0xB848,0xDEE7,
      0,0xB84F,     0,0xB850,0xDEE6,0xDEE9,0xDEF1,0xB84A,
 0xB84B,0xDEEF,0xDEE5,     0,     0,     0,0xE2F2,0xBAD0,
@@ -5034,7 +5035,7 @@
 0xD34D,0xAFBB,0xD34B,     0,0xD34C,0xD34E,     0,     0,
      0,0xD34A,0xB2C9,     0,0xD6DE,0xB2CB,0xD6E0,0xB2CA,
 0xD6DF,     0,     0,     0,     0,     0,0xDAE8,0xB5AF,
-     0,0xDAEA,0xDAE7,0xD6E1,     0,0xB5B0,     0,     0,
+     0,0xDAEA,0xDAE7,0xD6E1,     0,0xB5B0,     0,0xF9DB,
 0xDAE9,     0,     0,     0,     0,     0,     0,0xDF56,
      0,0xB864,0xDF54,0xB865,0xDF55,0xB866,     0,     0,
      0,0xBAE9,0xE361,0xE35E,0xE360,0xBAEA,0xBAEB,0xE35F,
@@ -5423,7 +5424,7 @@
      0,0xB5F6,0xDBCD,     0,     0,     0,0xDBC9,0xDBCB,
 0xDBC6,0xDBC5,0xDBC3,     0,0xDBCA,0xDBCC,0xDBC8,     0,
 0xDBC7,0xB5F4,0xB5F5,     0,     0,     0,     0,     0,
-     0,0xDBCF,0xB8CD,0xDFF2,0xDFF8,0xDFF3,0xDFF4,     0,
+     0,0xDBCF,0xB8CD,0xDFF2,0xDFF8,0xDFF3,0xDFF4,0xF9D8,
 0xDFF9,     0,0xB8CF,     0,0xB8C7,0xB8CE,0xDFF1,0xDBC4,
 0xB8CA,0xB8C8,0xDFF7,0xDFF6,0xB8C9,0xB8CB,0xDFF5,0xB8C6,
      0,0xB8CC,     0,     0,     0,     0,     0,0xE3F6,
@@ -5741,7 +5742,7 @@
 0xE47B,0xE4AF,0xE4AC,0xE4A7,0xE477,0xE476,0xE4A1,0xE4B4,
 0xBBCF,0xE4B7,0xE47D,0xE4A3,0xBE52,     0,     0,     0,
      0,     0,0xBE5A,0xBE55,0xE8A4,0xE8A1,0xE867,0xBE50,
-     0,     0,     0,0xBE4F,0xBE56,     0,     0,     0,
+     0,0xF9D7,     0,0xBE4F,0xBE56,     0,     0,     0,
 0xE865,0xBE54,0xE871,0xE863,0xE864,0xBE4E,0xE8A3,0xBE58,
 0xE874,0xE879,0xE873,0xEBEE,0xE86F,0xE877,0xE875,0xE868,
 0xE862,0xE87D,0xBE57,0xE87E,     0,0xE878,     0,0xE86D,

--- 1.9/mysql-test/r/ctype_big5.result	2005-09-21 22:17:20 +05:00
+++ 1.10/mysql-test/r/ctype_big5.result	2005-10-05 19:20:19 +05:00
@@ -170,3 +170,22 @@
 HEX(a)
 A741ADCCA66EB6DC20A7DAADCCABDCA66E
 DROP TABLE t1;
+set names big5;
+create table t1 (a char character set big5);
+insert into t1 values (0xF9D6),(0xF9D7),(0xF9D8),(0xF9D9);
+insert into t1 values (0xF9DA),(0xF9DB),(0xF9DC);
+select hex(a) a, hex(@u:=convert(a using utf8)) b,
+hex(convert(@u using big5)) c from t1 order by a;
+a	b	c
+F9D6	E7A281	F9D6
+F9D7	E98AB9	F9D7
+F9D8	E8A38F	F9D8
+F9D9	E5A2BB	F9D9
+F9DA	E68192	F9DA
+F9DB	E7B2A7	F9DB
+F9DC	E5ABBA	F9DC
+alter table t1 convert to character set utf8;
+select hex(a) from t1 where a = _big5 0xF9DC;
+hex(a)
+E5ABBA
+drop table t1;

--- 1.9/mysql-test/t/ctype_big5.test	2005-09-21 22:13:01 +05:00
+++ 1.10/mysql-test/t/ctype_big5.test	2005-10-05 19:20:08 +05:00
@@ -38,4 +38,19 @@
 SELECT HEX(a) FROM t1 WHERE MATCH(a) AGAINST (0xA741ADCCA66EB6DC IN BOOLEAN MODE);
 DROP TABLE t1;
 
+#
+# Bug#12476 Some big5 codes are still missing.
+#
+set names big5;
+create table t1 (a char character set big5);
+insert into t1 values (0xF9D6),(0xF9D7),(0xF9D8),(0xF9D9);
+insert into t1 values (0xF9DA),(0xF9DB),(0xF9DC);
+# Check round trip
+select hex(a) a, hex(@u:=convert(a using utf8)) b,
+hex(convert(@u using big5)) c from t1 order by a;
+# Check that there is no "illegal mix of collations" error with Unicode.
+alter table t1 convert to character set utf8;
+select hex(a) from t1 where a = _big5 0xF9DC;
+drop table t1;
+
 # End of 4.1 tests
Thread
bk commit into 4.1 tree (bar:1.2473) BUG#12476bar5 Oct