List:Commits« Previous MessageNext Message »
From:bar Date:June 9 2007 7:35am
Subject:bk commit into 5.0 tree (bar:1.2518) BUG#28862
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-06-09 10:34:56+05:00, bar@stripped +3 -0
  Bug#28862 Extended Latin1 characters get lost in CVS engine
  Problem: Temporary buffer which is used for quoting and escaping
  was initialized to character set utf8, and thus didn't allow
  to store data in other character sets.
  Fix: changing character set of the buffer to be able to
  store any arbitrary sequence of bytes.

  mysql-test/r/csv.result@stripped, 2007-06-09 10:34:54+05:00, bar@stripped +21 -0
    Adding test case

  mysql-test/t/csv.test@stripped, 2007-06-09 10:34:54+05:00, bar@stripped +18 -0
    Adding test case

  sql/examples/ha_tina.cc@stripped, 2007-06-09 10:34:54+05:00, bar@stripped +2 -2
    Changing character set of the buffer to "binary".

# 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.myoffice.izhnet.ru
# Root:	/home/bar/mysql-work/mysql-5.0.b28862

--- 1.7/mysql-test/r/csv.result	2006-10-14 22:53:12 +05:00
+++ 1.8/mysql-test/r/csv.result	2007-06-09 10:34:54 +05:00
@@ -5009,3 +5009,24 @@
 val
 drop table bug15205;
 drop table bug15205_2;
+set names latin1;
+create table t1 (
+c varchar(1),
+name varchar(64)
+) character set latin1 engine=csv;
+insert into t1 values (0xC0,'LATIN CAPITAL LETTER A WITH GRAVE');
+insert into t1 values (0xE0,'LATIN SMALL LETTER A WITH GRAVE');
+insert into t1 values (0xEE,'LATIN SMALL LETTER I WITH CIRCUMFLEX');
+insert into t1 values (0xFE,'LATIN SMALL LETTER THORN');
+insert into t1 values (0xF7,'DIVISION SIGN');
+insert into t1 values (0xFF,'LATIN SMALL LETTER Y WITH DIAERESIS');
+select hex(c), c, name from t1 order by 1;
+hex(c)	c	name
+C0	À	LATIN CAPITAL LETTER A WITH GRAVE
+E0	à	LATIN SMALL LETTER A WITH GRAVE
+EE	î	LATIN SMALL LETTER I WITH CIRCUMFLEX
+F7	÷	DIVISION SIGN
+FE	þ	LATIN SMALL LETTER THORN
+FF	ÿ	LATIN SMALL LETTER Y WITH DIAERESIS
+drop table t1;
+End of 5.0 tests

--- 1.10/mysql-test/t/csv.test	2007-02-19 18:46:30 +04:00
+++ 1.11/mysql-test/t/csv.test	2007-06-09 10:34:54 +05:00
@@ -1410,3 +1410,21 @@
 drop table bug15205;
 drop table bug15205_2;
 
+#
+# Bug#28862 "Extended Latin1 characters get lost in CVS engine"
+#
+set names latin1;
+create table t1 (
+  c varchar(1),
+  name varchar(64)
+) character set latin1 engine=csv;
+insert into t1 values (0xC0,'LATIN CAPITAL LETTER A WITH GRAVE');
+insert into t1 values (0xE0,'LATIN SMALL LETTER A WITH GRAVE');
+insert into t1 values (0xEE,'LATIN SMALL LETTER I WITH CIRCUMFLEX');
+insert into t1 values (0xFE,'LATIN SMALL LETTER THORN');
+insert into t1 values (0xF7,'DIVISION SIGN');
+insert into t1 values (0xFF,'LATIN SMALL LETTER Y WITH DIAERESIS');
+select hex(c), c, name from t1 order by 1;
+drop table t1;
+
+--echo End of 5.0 tests

--- 1.28/sql/examples/ha_tina.cc	2007-02-03 12:26:08 +04:00
+++ 1.29/sql/examples/ha_tina.cc	2007-06-09 10:34:54 +05:00
@@ -301,7 +301,7 @@
   chain_size(DEFAULT_CHAIN_LENGTH), records_is_known(0)
 {
   /* Set our original buffers from pre-allocated memory */
-  buffer.set(byte_buffer, IO_SIZE, system_charset_info);
+  buffer.set(byte_buffer, IO_SIZE, &my_charset_bin);
   chain= chain_buffer;
 }
 
@@ -447,7 +447,7 @@
       else
         buffer.append(*mapped_ptr);
     }
-    (*field)->store(buffer.ptr(), buffer.length(), system_charset_info);
+    (*field)->store(buffer.ptr(), buffer.length(), buffer.charset());
   }
   next_position= (end_ptr - share->mapped_file)+1;
   /* Maybe use \N for null? */
Thread
bk commit into 5.0 tree (bar:1.2518) BUG#28862bar9 Jun