summaryrefslogtreecommitdiff
path: root/sql/examples
diff options
context:
space:
mode:
authorunknown <bar@mysql.com/bar.myoffice.izhnet.ru>2007-06-15 11:19:35 +0500
committerunknown <bar@mysql.com/bar.myoffice.izhnet.ru>2007-06-15 11:19:35 +0500
commit39700afdb9d32b6f8db4982e6ab3066db060e9f5 (patch)
treee3c6298ac34cfc40882079e4f92b87b04bd2e57e /sql/examples
parent5bc3eb2e1183dc5f73b007d48a509793cceb19f1 (diff)
downloadmariadb-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.cc4
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? */