diff options
author | unknown <bar@mysql.com/bar.myoffice.izhnet.ru> | 2007-06-15 11:19:35 +0500 |
---|---|---|
committer | unknown <bar@mysql.com/bar.myoffice.izhnet.ru> | 2007-06-15 11:19:35 +0500 |
commit | 39700afdb9d32b6f8db4982e6ab3066db060e9f5 (patch) | |
tree | e3c6298ac34cfc40882079e4f92b87b04bd2e57e /sql/examples | |
parent | 5bc3eb2e1183dc5f73b007d48a509793cceb19f1 (diff) | |
download | mariadb-git-39700afdb9d32b6f8db4982e6ab3066db060e9f5.tar.gz |
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:
Adding test case
mysql-test/t/csv.test:
Adding test case
sql/examples/ha_tina.cc:
Changing character set of the buffer to "binary".
Diffstat (limited to 'sql/examples')
-rw-r--r-- | sql/examples/ha_tina.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sql/examples/ha_tina.cc b/sql/examples/ha_tina.cc index 00f927aa7b7..2c5226222e2 100644 --- a/sql/examples/ha_tina.cc +++ b/sql/examples/ha_tina.cc @@ -301,7 +301,7 @@ ha_tina::ha_tina(TABLE *table_arg) 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 @@ int ha_tina::find_current_row(byte *buf) 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? */ |