diff options
Diffstat (limited to 'mysql-test/suite')
-rw-r--r-- | mysql-test/suite/client/mariadb-conv-cp932.result | 47 | ||||
-rw-r--r-- | mysql-test/suite/client/mariadb-conv-cp932.test | 54 | ||||
-rw-r--r-- | mysql-test/suite/client/mariadb-conv-utf8.result | 47 | ||||
-rw-r--r-- | mysql-test/suite/client/mariadb-conv-utf8.test | 54 | ||||
-rw-r--r-- | mysql-test/suite/client/mariadb-conv.result | 13 | ||||
-rw-r--r-- | mysql-test/suite/client/mariadb-conv.test | 25 |
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 |