summaryrefslogtreecommitdiff
path: root/mysql-test/suite
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/suite')
-rw-r--r--mysql-test/suite/client/mariadb-conv-cp932.result47
-rw-r--r--mysql-test/suite/client/mariadb-conv-cp932.test54
-rw-r--r--mysql-test/suite/client/mariadb-conv-utf8.result47
-rw-r--r--mysql-test/suite/client/mariadb-conv-utf8.test54
-rw-r--r--mysql-test/suite/client/mariadb-conv.result13
-rw-r--r--mysql-test/suite/client/mariadb-conv.test25
6 files changed, 240 insertions, 0 deletions
diff --git a/mysql-test/suite/client/mariadb-conv-cp932.result b/mysql-test/suite/client/mariadb-conv-cp932.result
new file mode 100644
index 00000000000..e18e36b81c9
--- /dev/null
+++ b/mysql-test/suite/client/mariadb-conv-cp932.result
@@ -0,0 +1,47 @@
+#
+# MDEV-17088 Provide tools to encode/decode mysql-encoded file system names
+#
+SET NAMES cp932;
+@6e2c@8a66@8cc7@6599
+‘ͺŽŽŽ‘—ΏŒΙ
+@6e2c@8a66@8cc7@6599
+‘ͺŽŽŽ‘—Ώ
+‘ͺŽŽŽ‘—ΏŒΙ
+@6e2c@8a66@8cc7@6599@5eab
+# bulk convert with pipe
+CREATE TABLE t1 (id SERIAL, a VARCHAR(64) CHARACTER SET cp932);
+INSERT INTO t1 (a) VALUES ('‘ͺŽŽŽ‘—Ώ'), ('‘ͺŽŽŽ‘—Ώ2');
+a
+@6e2c@8a66@8cc7@6599
+@6e2c@8a66@8cc7@65992
+BINARY CONVERT(a USING filename)
+@6e2c@8a66@8cc7@6599
+@6e2c@8a66@8cc7@65992
+‘ͺŽŽŽ‘—Ώ
+‘ͺŽŽŽ‘—Ώ2
+test/‘ͺŽŽŽ‘—Ώ.frm
+test/‘ͺŽŽŽ‘—Ώ2.frm
+DROP TABLE t1;
+# bulk convert with file
+# --- Start of mariadb-conv for mysql-conv-test-cp932.txt ---
+
+@6e2c@8a66@8cc7@6599
+
+@6e2c@8a66@8cc7@65992
+@6e2c@8a66@8cc7@65993
+
+# --- End of mariadb-conv for mysql-conv-test-cp932.txt ---
+# --- Start of mariadb-conv for mysql-conv-test-cp932.txt and mysql-conv-test-cp932-2.txt ---
+
+@6e2c@8a66@8cc7@6599
+
+@6e2c@8a66@8cc7@65992
+@6e2c@8a66@8cc7@65993
+
+
+@6e2c@8a66@8cc7@6599
+
+@6e2c@8a66@8cc7@65992
+@6e2c@8a66@8cc7@65993
+
+# --- Start of mariadb-conv for mysql-conv-test-cp932.txt and mysql-conv-test-cp932-2.txt ---
diff --git a/mysql-test/suite/client/mariadb-conv-cp932.test b/mysql-test/suite/client/mariadb-conv-cp932.test
new file mode 100644
index 00000000000..abbaa2bae3d
--- /dev/null
+++ b/mysql-test/suite/client/mariadb-conv-cp932.test
@@ -0,0 +1,54 @@
+--echo #
+--echo # MDEV-17088 Provide tools to encode/decode mysql-encoded file system names
+--echo #
+
+--character_set cp932
+SET NAMES cp932;
+
+--let $MYSQLD_DATADIR= `select @@datadir`
+
+# simple I/O
+--exec echo "‘ͺŽŽŽ‘—Ώ" | $MARIADB_CONV -f cp932 -t filename
+--exec echo "@6e2c@8a66@8cc7@6599@5eab" | $MARIADB_CONV -f filename -t cp932
+
+# undo query result
+--let $query_result=`SELECT CONVERT(CONVERT('‘ͺŽŽŽ‘—Ώ' USING filename) USING binary);`
+--echo $query_result
+--exec echo $query_result | $MARIADB_CONV -f filename -t cp932
+
+--let $reverse_query_result=`SELECT CONVERT(_filename '@6e2c@8a66@8cc7@6599@5eab' USING cp932);`
+--echo $reverse_query_result
+--exec echo $reverse_query_result | $MARIADB_CONV -f cp932 -t filename
+
+--echo # bulk convert with pipe
+
+CREATE TABLE t1 (id SERIAL, a VARCHAR(64) CHARACTER SET cp932);
+INSERT INTO t1 (a) VALUES ('‘ͺŽŽŽ‘—Ώ'), ('‘ͺŽŽŽ‘—Ώ2');
+--exec $MYSQL -Dtest --default-character-set=cp932 -e "SELECT a FROM t1 ORDER BY id" | $MARIADB_CONV -f cp932 -t filename
+--exec $MYSQL -Dtest --default-character-set=cp932 -e "SELECT BINARY CONVERT(a USING filename) FROM t1 ORDER BY id"
+--exec $MYSQL -Dtest --default-character-set=cp932 --column-names=0 -e "SELECT BINARY CONVERT(a USING filename) FROM t1 ORDER BY id" | $MARIADB_CONV -f filename -t cp932
+--exec $MYSQL -Dtest --default-character-set=cp932 --column-names=0 -e "SELECT CONCAT('test/', BINARY CONVERT(a USING filename),'.frm') FROM t1 ORDER BY id" | $REPLACE "/" "@002f" "." "@002e"| $MARIADB_CONV -f filename -t cp932
+DROP TABLE t1;
+
+
+--echo # bulk convert with file
+--write_file $MYSQL_TMP_DIR/mysql-conv-test-cp932.txt
+
+‘ͺŽŽŽ‘—Ώ
+
+‘ͺŽŽŽ‘—Ώ2
+‘ͺŽŽŽ‘—Ώ3
+
+EOF
+
+--echo # --- Start of mariadb-conv for mysql-conv-test-cp932.txt ---
+--exec $MARIADB_CONV -f cp932 -t filename $MYSQL_TMP_DIR/mysql-conv-test-cp932.txt
+--echo # --- End of mariadb-conv for mysql-conv-test-cp932.txt ---
+
+--copy_file $MYSQL_TMP_DIR/mysql-conv-test-cp932.txt $MYSQL_TMP_DIR/mysql-conv-test-cp932-2.txt
+--echo # --- Start of mariadb-conv for mysql-conv-test-cp932.txt and mysql-conv-test-cp932-2.txt ---
+--exec $MARIADB_CONV -f cp932 -t filename $MYSQL_TMP_DIR/mysql-conv-test-cp932.txt $MYSQL_TMP_DIR/mysql-conv-test-cp932-2.txt
+--echo # --- Start of mariadb-conv for mysql-conv-test-cp932.txt and mysql-conv-test-cp932-2.txt ---
+
+--remove_file $MYSQL_TMP_DIR/mysql-conv-test-cp932.txt
+--remove_file $MYSQL_TMP_DIR/mysql-conv-test-cp932-2.txt
diff --git a/mysql-test/suite/client/mariadb-conv-utf8.result b/mysql-test/suite/client/mariadb-conv-utf8.result
new file mode 100644
index 00000000000..b38cb118c72
--- /dev/null
+++ b/mysql-test/suite/client/mariadb-conv-utf8.result
@@ -0,0 +1,47 @@
+#
+# MDEV-17088 Provide tools to encode/decode mysql-encoded file system names
+#
+SET NAMES utf8;
+@6e2c@8a66@8cc7@6599
+測試資料庫
+@6e2c@8a66@8cc7@6599
+測試資料
+測試資料庫
+@6e2c@8a66@8cc7@6599@5eab
+# bulk convert with pipe
+CREATE TABLE t1 (id SERIAL, a VARCHAR(64) CHARACTER SET utf8);
+INSERT INTO t1 (a) VALUES ('測試資料'), ('測試資料2');
+a
+@6e2c@8a66@8cc7@6599
+@6e2c@8a66@8cc7@65992
+BINARY CONVERT(a USING filename)
+@6e2c@8a66@8cc7@6599
+@6e2c@8a66@8cc7@65992
+測試資料
+測試資料2
+test/測試資料.frm
+test/測試資料2.frm
+DROP TABLE t1;
+# bulk convert with file
+# --- Start of mariadb-conv for mysql-conv-test-utf8.txt ---
+
+@6e2c@8a66@8cc7@6599
+
+@6e2c@8a66@8cc7@65992
+@6e2c@8a66@8cc7@65993
+
+# --- End of mariadb-conv for mysql-conv-test-utf8.txt ---
+# --- Start of mariadb-conv for mysql-conv-test-utf8.txt and mysql-conv-test-utf8-2.txt ---
+
+@6e2c@8a66@8cc7@6599
+
+@6e2c@8a66@8cc7@65992
+@6e2c@8a66@8cc7@65993
+
+
+@6e2c@8a66@8cc7@6599
+
+@6e2c@8a66@8cc7@65992
+@6e2c@8a66@8cc7@65993
+
+# --- Start of mariadb-conv for mysql-conv-test-utf8.txt and mysql-conv-test-utf8-2.txt ---
diff --git a/mysql-test/suite/client/mariadb-conv-utf8.test b/mysql-test/suite/client/mariadb-conv-utf8.test
new file mode 100644
index 00000000000..cbfc38fa60b
--- /dev/null
+++ b/mysql-test/suite/client/mariadb-conv-utf8.test
@@ -0,0 +1,54 @@
+--echo #
+--echo # MDEV-17088 Provide tools to encode/decode mysql-encoded file system names
+--echo #
+
+--character_set utf8
+SET NAMES utf8;
+
+--let $MYSQLD_DATADIR= `select @@datadir`
+
+# simple I/O
+--exec echo "測試資料" | $MARIADB_CONV -f utf8 -t filename
+--exec echo "@6e2c@8a66@8cc7@6599@5eab" | $MARIADB_CONV -f filename -t utf8
+
+# undo query result
+--let $query_result=`SELECT CONVERT(CONVERT('測試資料' USING filename) USING binary);`
+--echo $query_result
+--exec echo $query_result | $MARIADB_CONV -f filename -t utf8
+
+--let $reverse_query_result=`SELECT CONVERT(_filename '@6e2c@8a66@8cc7@6599@5eab' USING utf8);`
+--echo $reverse_query_result
+--exec echo $reverse_query_result | $MARIADB_CONV -f utf8 -t filename
+
+--echo # bulk convert with pipe
+
+CREATE TABLE t1 (id SERIAL, a VARCHAR(64) CHARACTER SET utf8);
+INSERT INTO t1 (a) VALUES ('測試資料'), ('測試資料2');
+--exec $MYSQL -Dtest --default-character-set=utf8 -e "SELECT a FROM t1 ORDER BY id" | $MARIADB_CONV -f utf8 -t filename
+--exec $MYSQL -Dtest --default-character-set=utf8 -e "SELECT BINARY CONVERT(a USING filename) FROM t1 ORDER BY id"
+--exec $MYSQL -Dtest --default-character-set=utf8 --column-names=0 -e "SELECT BINARY CONVERT(a USING filename) FROM t1 ORDER BY id" | $MARIADB_CONV -f filename -t utf8
+--exec $MYSQL -Dtest --default-character-set=utf8 --column-names=0 -e "SELECT CONCAT('test/', BINARY CONVERT(a USING filename),'.frm') FROM t1 ORDER BY id" | $REPLACE "/" "@002f" "." "@002e"| $MARIADB_CONV -f filename -t utf8
+DROP TABLE t1;
+
+
+--echo # bulk convert with file
+--write_file $MYSQL_TMP_DIR/mysql-conv-test-utf8.txt
+
+測試資料
+
+測試資料2
+測試資料3
+
+EOF
+
+--echo # --- Start of mariadb-conv for mysql-conv-test-utf8.txt ---
+--exec $MARIADB_CONV -f utf8 -t filename $MYSQL_TMP_DIR/mysql-conv-test-utf8.txt
+--echo # --- End of mariadb-conv for mysql-conv-test-utf8.txt ---
+
+--copy_file $MYSQL_TMP_DIR/mysql-conv-test-utf8.txt $MYSQL_TMP_DIR/mysql-conv-test-utf8-2.txt
+--echo # --- Start of mariadb-conv for mysql-conv-test-utf8.txt and mysql-conv-test-utf8-2.txt ---
+--exec $MARIADB_CONV -f utf8 -t filename $MYSQL_TMP_DIR/mysql-conv-test-utf8.txt $MYSQL_TMP_DIR/mysql-conv-test-utf8-2.txt
+--echo # --- Start of mariadb-conv for mysql-conv-test-utf8.txt and mysql-conv-test-utf8-2.txt ---
+
+--remove_file $MYSQL_TMP_DIR/mysql-conv-test-utf8.txt
+--remove_file $MYSQL_TMP_DIR/mysql-conv-test-utf8-2.txt
diff --git a/mysql-test/suite/client/mariadb-conv.result b/mysql-test/suite/client/mariadb-conv.result
new file mode 100644
index 00000000000..1677a13de1d
--- /dev/null
+++ b/mysql-test/suite/client/mariadb-conv.result
@@ -0,0 +1,13 @@
+#
+# MDEV-17088 Provide tools to encode/decode mysql-encoded file system names
+#
+# default encoding
+t1
+t1
+t1
+# invalid option
+mariadb-conv: unknown option '-r'
+# unknown "to" character set
+Character set unknown-cs is not supported
+# unknown "from" character set
+Character set unknown-cs is not supported
diff --git a/mysql-test/suite/client/mariadb-conv.test b/mysql-test/suite/client/mariadb-conv.test
new file mode 100644
index 00000000000..2046b876b69
--- /dev/null
+++ b/mysql-test/suite/client/mariadb-conv.test
@@ -0,0 +1,25 @@
+--echo #
+--echo # MDEV-17088 Provide tools to encode/decode mysql-encoded file system names
+--echo #
+
+--character_set latin1
+
+--echo # default encoding
+--exec echo "t1" | $MARIADB_CONV
+--exec echo "t1" | $MARIADB_CONV -f filename
+--exec echo "t1" | $MARIADB_CONV -t filename
+
+--echo # invalid option
+--replace_regex /.*mariadb-conv.*: unknown/mariadb-conv: unknown/
+--error 1
+--exec echo "t1" | $MARIADB_CONV -f filename -r latin1 2>&1 > /dev/null
+
+--echo # unknown "to" character set
+--replace_regex /.*mariadb-conv.*: unknown/mariadb-conv: unknown/
+--error 1
+--exec echo "t1" | $MARIADB_CONV -f filename -t unknown-cs 2>&1 > /dev/null
+
+--echo # unknown "from" character set
+--replace_regex /.*mariadb-conv.*: unknown/mariadb-conv: unknown/
+--error 1
+--exec echo "t1" | $MARIADB_CONV -f unknown-cs -t latin1 2>&1 > /dev/null