summaryrefslogtreecommitdiffstats
path: root/mysql-test/suite/jp/t/jp_convert_utf8.test
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 18:07:14 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 18:07:14 +0000
commita175314c3e5827eb193872241446f2f8f5c9d33c (patch)
treecd3d60ca99ae00829c52a6ca79150a5b6e62528b /mysql-test/suite/jp/t/jp_convert_utf8.test
parentInitial commit. (diff)
downloadmariadb-10.5-upstream.tar.xz
mariadb-10.5-upstream.zip
Adding upstream version 1:10.5.12.upstream/1%10.5.12upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'mysql-test/suite/jp/t/jp_convert_utf8.test')
-rw-r--r--mysql-test/suite/jp/t/jp_convert_utf8.test94
1 files changed, 94 insertions, 0 deletions
diff --git a/mysql-test/suite/jp/t/jp_convert_utf8.test b/mysql-test/suite/jp/t/jp_convert_utf8.test
new file mode 100644
index 00000000..7a230495
--- /dev/null
+++ b/mysql-test/suite/jp/t/jp_convert_utf8.test
@@ -0,0 +1,94 @@
+--source include/have_sjis.inc
+--source include/have_ucs2.inc
+--source include/have_ujis.inc
+--source include/have_utf8.inc
+--source include/have_innodb.inc
+--disable_warnings
+drop table if exists `T1`;
+drop table if exists `T2`;
+drop table if exists `T3`;
+drop table if exists `T4`;
+drop table if exists `T5`;
+drop table if exists `T6`;
+drop table if exists `T7`;
+drop table if exists `T8`;
+drop table if exists `T9`;
+--enable_warnings
+
+#
+# Test CONVERT() function with Japanese character in utf8 encoding
+#
+
+SET NAMES utf8;
+SET character_set_database = utf8;
+
+CREATE TABLE `T1` (`C1` char(20), INDEX(`C1`)) DEFAULT CHARSET = utf8 engine = innodb;
+CREATE TABLE `T2` (`C1` char(20), INDEX(`C1`)) DEFAULT CHARSET = utf8 engine = innodb;
+CREATE TABLE `T3` (`C1` char(20), INDEX(`C1`)) DEFAULT CHARSET = utf8 engine = innodb;
+CREATE TABLE `T4` (`C1` char(20), INDEX(`C1`)) DEFAULT CHARSET = utf8 engine = myisam;
+CREATE TABLE `T5` (`C1` char(20), INDEX(`C1`)) DEFAULT CHARSET = utf8 engine = myisam;
+CREATE TABLE `T6` (`C1` char(20), INDEX(`C1`)) DEFAULT CHARSET = utf8 engine = myisam;
+CREATE TABLE `T7` (`C1` char(20), INDEX(`C1`)) DEFAULT CHARSET = utf8 engine = MEMORY;
+CREATE TABLE `T8` (`C1` char(20), INDEX(`C1`)) DEFAULT CHARSET = utf8 engine = MEMORY;
+CREATE TABLE `T9` (`C1` char(20), INDEX(`C1`)) DEFAULT CHARSET = utf8 engine = MEMORY;
+
+#Load the following data in each table
+# jisx0201 hankaku-katakana data
+# jisx0208 data
+# jisx0212 supplemental character data
+
+ LOAD DATA LOCAL INFILE 'suite/jp/std_data/jisx0201_utf8.dat' INTO TABLE `T1`;
+ LOAD DATA LOCAL INFILE 'suite/jp/std_data/jisx0208_utf8.dat' INTO TABLE `T2`;
+ LOAD DATA LOCAL INFILE 'suite/jp/std_data/jisx0212_utf8.dat' INTO TABLE `T3`;
+ LOAD DATA LOCAL INFILE 'suite/jp/std_data/jisx0201_utf8.dat' INTO TABLE `T4`;
+ LOAD DATA LOCAL INFILE 'suite/jp/std_data/jisx0208_utf8.dat' INTO TABLE `T5`;
+ LOAD DATA LOCAL INFILE 'suite/jp/std_data/jisx0212_utf8.dat' INTO TABLE `T6`;
+ LOAD DATA LOCAL INFILE 'suite/jp/std_data/jisx0201_utf8.dat' INTO TABLE `T7`;
+ LOAD DATA LOCAL INFILE 'suite/jp/std_data/jisx0208_utf8.dat' INTO TABLE `T8`;
+ LOAD DATA LOCAL INFILE 'suite/jp/std_data/jisx0212_utf8.dat' INTO TABLE `T9`;
+
+#InnoDB
+SELECT `C1`, CONVERT(`C1` using ujis) FROM `T1`;
+SELECT `C1`, CONVERT(`C1` using ucs2) FROM `T1`;
+SELECT `C1`, CONVERT(`C1` using sjis) FROM `T1`;
+SELECT `C1`, CONVERT(`C1` using ujis) FROM `T2`;
+SELECT `C1`, CONVERT(`C1` using ucs2) FROM `T2`;
+SELECT `C1`, CONVERT(`C1` using sjis) FROM `T2`;
+SELECT `C1`, CONVERT(`C1` using ujis) FROM `T3`;
+SELECT `C1`, CONVERT(`C1` using ucs2) FROM `T3`;
+# The result will get garbled because jisx0212 is not included in sjis
+SELECT `C1`, CONVERT(`C1` using sjis) FROM `T3`;
+
+#MyISAM
+SELECT `C1`, CONVERT(`C1` using ujis) FROM `T4`;
+SELECT `C1`, CONVERT(`C1` using ucs2) FROM `T4`;
+SELECT `C1`, CONVERT(`C1` using sjis) FROM `T4`;
+SELECT `C1`, CONVERT(`C1` using ujis) FROM `T5`;
+SELECT `C1`, CONVERT(`C1` using ucs2) FROM `T5`;
+SELECT `C1`, CONVERT(`C1` using sjis) FROM `T5`;
+SELECT `C1`, CONVERT(`C1` using ujis) FROM `T6`;
+SELECT `C1`, CONVERT(`C1` using ucs2) FROM `T6`;
+# The result will get garbled because jisx0212 is not included in sjis
+SELECT `C1`, CONVERT(`C1` using sjis) FROM `T6`;
+
+#MEMORY
+SELECT `C1`, CONVERT(`C1` using ujis) FROM `T7`;
+SELECT `C1`, CONVERT(`C1` using ucs2) FROM `T7`;
+SELECT `C1`, CONVERT(`C1` using sjis) FROM `T7`;
+SELECT `C1`, CONVERT(`C1` using ujis) FROM `T8`;
+SELECT `C1`, CONVERT(`C1` using ucs2) FROM `T8`;
+SELECT `C1`, CONVERT(`C1` using sjis) FROM `T8`;
+SELECT `C1`, CONVERT(`C1` using ujis) FROM `T9`;
+SELECT `C1`, CONVERT(`C1` using ucs2) FROM `T9`;
+# The result will get garbled because jisx0212 is not included in sjis
+SELECT `C1`, CONVERT(`C1` using sjis) FROM `T9`;
+
+drop table `T1`;
+drop table `T2`;
+drop table `T3`;
+drop table `T4`;
+drop table `T5`;
+drop table `T6`;
+drop table `T7`;
+drop table `T8`;
+drop table `T9`;