From: Date: December 21 2006 4:16pm Subject: bk commit into 4.1 tree (kaa:1.2558) BUG#24037 List-Archive: http://lists.mysql.com/commits/17265 X-Bug: 24037 Message-Id: <20061221151650.F2C8F1B9D3E@polly.local> Below is the list of changes that have just been committed into a local 4.1 repository of kaa. When kaa 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-12-21 18:16:46+03:00, kaa@stripped +5 -0 Fix for the bug #24037 "Lossy Hebrew to Unicode conversion". Added definitions for the following Hebrew characters as specified by the ISO/IEC 8859-8:1999: LEFT-TO-RIGHT EMBEDDING (LRE) RIGHT-TO-LEFT EMBEDDING (RLE) LEFT-TO-RIGHT MARK (LRM) RIGHT-TO-LEFT MARK (RLM) mysql-test/r/ctype_hebrew.result@stripped, 2006-12-21 18:16:44+03:00, kaa@stripped +13 -0 Added the test case for bug #24037 "Lossy Hebrew to Unicode conversion" mysql-test/r/ctype_hebrew.result@stripped, 2006-12-21 18:16:44+03:00, kaa@stripped +0 -0 mysql-test/t/ctype_hebrew.test@stripped, 2006-12-21 18:16:44+03:00, kaa@stripped +16 -0 Added the test case for bug #24037 "Lossy Hebrew to Unicode conversion" mysql-test/t/ctype_hebrew.test@stripped, 2006-12-21 18:16:44+03:00, kaa@stripped +0 -0 sql/share/charsets/hebrew.xml@stripped, 2006-12-21 18:16:44+03:00, kaa@stripped +2 -2 Added definitions for the following Hebrew characters as specified by the ISO/IEC 8859-8:1999: LEFT-TO-RIGHT EMBEDDING (LRE) RIGHT-TO-LEFT EMBEDDING (RLE) LEFT-TO-RIGHT MARK (LRM) RIGHT-TO-LEFT MARK (RLM) strings/conf_to_src.c@stripped, 2006-12-21 18:16:44+03:00, kaa@stripped +8 -1 Added a warning comment in the generated C source file. strings/ctype-extra.c@stripped, 2006-12-21 18:16:44+03:00, kaa@stripped +12 -4 Re-generated from sql/share/charsets/hebrew.xml # 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: kaa # Host: polly.local # Root: /tmp/maint/bug24037/my41-bug24037 --- 1.16/strings/conf_to_src.c 2006-12-21 18:16:50 +03:00 +++ 1.17/strings/conf_to_src.c 2006-12-21 18:16:50 +03:00 @@ -270,7 +270,14 @@ main(int argc, char **argv __attribute_ } } - + fprintf(f, "/*\n"); + fprintf(f, " This file was generated by the conf_to_src utility. " + "Do not edit it directly,\n"); + fprintf(f, " edit the XML definitions in sql/share/charsets/ instead.\n\n"); + fprintf(f, " To re-generate, run the following in the strings/ " + "directory:\n"); + fprintf(f, " ./conf_to_src ../sql/share/charsets/ > FILE\n"); + fprintf(f, "*/\n\n"); fprintf(f,"#include \n"); fprintf(f,"#include \n\n"); --- 1.4/sql/share/charsets/hebrew.xml 2006-12-21 18:16:50 +03:00 +++ 1.5/sql/share/charsets/hebrew.xml 2006-12-21 18:16:50 +03:00 @@ -40,7 +40,7 @@ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 - 02 02 02 02 02 02 02 02 02 02 02 00 00 00 00 00 + 02 02 02 02 02 02 02 02 02 02 02 20 20 20 20 00 @@ -106,7 +106,7 @@ 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 2017 05D0 05D1 05D2 05D3 05D4 05D5 05D6 05D7 05D8 05D9 05DA 05DB 05DC 05DD 05DE 05DF -05E0 05E1 05E2 05E3 05E4 05E5 05E6 05E7 05E8 05E9 05EA 0000 0000 0000 0000 0000 +05E0 05E1 05E2 05E3 05E4 05E5 05E6 05E7 05E8 05E9 05EA 202A 202B 200E 200F 0000 --- 1.20/strings/ctype-extra.c 2006-12-21 18:16:50 +03:00 +++ 1.21/strings/ctype-extra.c 2006-12-21 18:16:50 +03:00 @@ -1,3 +1,11 @@ +/* + This file was generated by the conf_to_src utility. Do not edit it directly, + edit the XML definitions in sql/share/charsets/ instead. + + To re-generate, run the following in the strings/ directory: + ./conf_to_src ../sql/share/charsets/ > FILE +*/ + #include #include @@ -1169,7 +1177,7 @@ uchar ctype_hebrew_general_ci[] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02, -0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00 +0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x20,0x20,0x20,0x20,0x00 }; uchar to_lower_hebrew_general_ci[] = { @@ -1261,7 +1269,7 @@ uint16 to_uni_hebrew_general_ci[] = { 0x05D0,0x05D1,0x05D2,0x05D3,0x05D4,0x05D5,0x05D6,0x05D7, 0x05D8,0x05D9,0x05DA,0x05DB,0x05DC,0x05DD,0x05DE,0x05DF, 0x05E0,0x05E1,0x05E2,0x05E3,0x05E4,0x05E5,0x05E6,0x05E7, -0x05E8,0x05E9,0x05EA,0x0000,0x0000,0x0000,0x0000,0x0000 +0x05E8,0x05E9,0x05EA,0x202A,0x202B,0x200E,0x200F,0x0000 }; #endif @@ -5100,7 +5108,7 @@ uchar ctype_hebrew_bin[] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02, -0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00 +0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x20,0x20,0x20,0x20,0x00 }; uchar to_lower_hebrew_bin[] = { @@ -5173,7 +5181,7 @@ uint16 to_uni_hebrew_bin[] = { 0x05D0,0x05D1,0x05D2,0x05D3,0x05D4,0x05D5,0x05D6,0x05D7, 0x05D8,0x05D9,0x05DA,0x05DB,0x05DC,0x05DD,0x05DE,0x05DF, 0x05E0,0x05E1,0x05E2,0x05E3,0x05E4,0x05E5,0x05E6,0x05E7, -0x05E8,0x05E9,0x05EA,0x0000,0x0000,0x0000,0x0000,0x0000 +0x05E8,0x05E9,0x05EA,0x202A,0x202B,0x200E,0x200F,0x0000 }; #endif --- New file --- +++ mysql-test/r/ctype_hebrew.result 06/12/21 18:16:44 DROP TABLE IF EXISTS t1; SET NAMES hebrew; CREATE TABLE t1 (a char(1)) DEFAULT CHARSET=hebrew; INSERT INTO t1 VALUES (0xFB),(0xFC),(0xFD),(0xFE); ALTER TABLE t1 CONVERT TO CHARACTER SET utf8; SELECT HEX(a) FROM t1; HEX(a) E280AA E280AB E2808E E2808F DROP TABLE t1; End of 4.1 tests --- New file --- +++ mysql-test/t/ctype_hebrew.test 06/12/21 18:16:44 # # BUG #24037: Lossy Hebrew to Unicode conversion # # Test if LRE, RLE, LRM and RLM characters are correctly converted to UTF-8 --disable_warnings DROP TABLE IF EXISTS t1; --enable_warnings SET NAMES hebrew; CREATE TABLE t1 (a char(1)) DEFAULT CHARSET=hebrew; INSERT INTO t1 VALUES (0xFB),(0xFC),(0xFD),(0xFE); ALTER TABLE t1 CONVERT TO CHARACTER SET utf8; SELECT HEX(a) FROM t1; DROP TABLE t1; --echo End of 4.1 tests