summaryrefslogtreecommitdiffstats
path: root/mysql-test/main/mysql_cp932.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/main/mysql_cp932.test')
-rw-r--r--mysql-test/main/mysql_cp932.test52
1 files changed, 52 insertions, 0 deletions
diff --git a/mysql-test/main/mysql_cp932.test b/mysql-test/main/mysql_cp932.test
new file mode 100644
index 00000000..8fba5750
--- /dev/null
+++ b/mysql-test/main/mysql_cp932.test
@@ -0,0 +1,52 @@
+# This test should work in embedded server after we fix mysqltest
+-- source include/not_embedded.inc
+
+#
+# Tests from mysql.test which require the cp932 character set
+#
+-- source include/have_cp932.inc
+
+#
+# BUG#16217 - MySQL client misinterprets multi-byte char as escape `\'
+#
+
+let $mysql_in= $MYSQL_TMP_DIR/mysql_in;
+
+# new command \C or charset
+write_file $mysql_in;
+\C cp932 \g
+EOF
+--exec $MYSQL --default-character-set=utf8 test < $mysql_in
+remove_file $mysql_in;
+
+write_file $mysql_in;
+charset utf8;
+EOF
+--exec $MYSQL --default-character-set=cp932 test < $mysql_in
+remove_file $mysql_in;
+
+# its usage to switch internally in mysql to requested charset
+write_file $mysql_in;
+charset cp932; select 'ソ'; create table t1 (c_cp932 TEXT CHARACTER SET cp932); insert into t1 values('ソ'); select * from t1; drop table t1;
+EOF
+--exec $MYSQL --default-character-set=utf8 test < $mysql_in
+remove_file $mysql_in;
+
+write_file $mysql_in;
+charset cp932; select 'ソ'
+EOF
+--exec $MYSQL --default-character-set=utf8 test < $mysql_in
+remove_file $mysql_in;
+
+write_file $mysql_in;
+/*charset cp932 */; set character_set_client= cp932; select 'ソ'
+EOF
+--exec $MYSQL --default-character-set=utf8 test < $mysql_in
+remove_file $mysql_in;
+
+write_file $mysql_in;
+/*!\C cp932 */; set character_set_client= cp932; select 'ソ'
+EOF
+--exec $MYSQL --default-character-set=utf8 test < $mysql_in
+remove_file $mysql_in;
+