summaryrefslogtreecommitdiffstats
path: root/mysql-test/main/binary_to_hex.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/main/binary_to_hex.test')
-rw-r--r--mysql-test/main/binary_to_hex.test96
1 files changed, 96 insertions, 0 deletions
diff --git a/mysql-test/main/binary_to_hex.test b/mysql-test/main/binary_to_hex.test
new file mode 100644
index 00000000..be4fb301
--- /dev/null
+++ b/mysql-test/main/binary_to_hex.test
@@ -0,0 +1,96 @@
+# === Purpose ===
+# The purpose of this test case is to make
+# sure that the binary data in tables is printed
+# as hex when the option binary-as-hex is enabled.
+#
+# === Related bugs and/or worklogs ===
+# Bug #25340722 - PRINT BINARY DATA AS HEX IN THE MYSQL
+# CLIENT (CONTRIBUTION)
+#
+
+# Save the initial number of concurrent sessions
+--source include/count_sessions.inc
+--source include/not_embedded.inc
+
+USE test;
+--disable_warnings
+DROP TABLE IF EXISTS t1, t2;
+--enable_warnings
+
+CREATE TABLE t1 (c1 TINYBLOB,
+ c2 BLOB,
+ c3 MEDIUMBLOB,
+ c4 LONGBLOB,
+ c5 TEXT,
+ c6 BIT(1),
+ c7 CHAR,
+ c8 VARCHAR(10),
+ c9 GEOMETRY) CHARACTER SET = binary;
+
+SHOW CREATE TABLE t1;
+
+INSERT INTO t1 VALUES ('tinyblob-text readable', 'blob-text readable',
+ 'mediumblob-text readable', 'longblob-text readable',
+ 'text readable', b'1', 'c', 'variable',
+ POINT(1, 1));
+
+CREATE TABLE t2(id int, `col1` binary(10),`col2` blob);
+
+SHOW CREATE TABLE t2;
+
+INSERT INTO t2 VALUES (1, X'AB1234', X'123ABC'), (2, X'DE1234', X'123DEF');
+
+--echo #Print the table contents when binary-as-hex option is off.
+--replace_column 6 # 9 #
+SELECT * FROM t1;
+
+--replace_column 2 # 3 #
+SELECT * FROM t2;
+
+--echo #Print the table contents after turning on the binary-as-hex option
+--echo
+--echo #Print the table contents in tab format
+--echo
+--exec $MYSQL test --binary-as-hex -e "SELECT * FROM t1; SELECT * FROM t2;"
+--echo
+--echo #Print the table contents in table format
+--echo
+--exec $MYSQL test --binary-as-hex --table -e "SELECT * FROM t1; SELECT * FROM t2 WHERE col2=0x123ABC;"
+--echo
+--echo #Print the table contents vertically
+--echo
+--exec $MYSQL test --binary-as-hex --vertical -e "SELECT * FROM t1;"
+--echo
+--echo #Print the table contents in xml format
+--echo
+--exec $MYSQL test --binary-as-hex --xml -e "SELECT * FROM t1; SELECT * FROM t2;"
+--echo
+--echo #Print the table contents in html format
+--echo
+--exec $MYSQL test --binary-as-hex --html -e "SELECT * FROM t1; SELECT * FROM t2;"
+
+#Cleanup
+DROP TABLE t1, t2;
+
+# MDEV-14593 human-readable XA RECOVER
+
+create table t1 (a int);
+
+--write_file $MYSQLTEST_VARDIR/tmp/mdev-14593.sql
+DELIMITER /
+XA START 'tr1', 'bq'/
+INSERT INTO t1 VALUES (0)/
+XA END 'tr1', 'bq'/
+XA PREPARE 'tr1', 'bq'/
+XA RECOVER/
+XA ROLLBACK 'tr1', 'bq'/
+EOF
+--exec $MYSQL test --binary-as-hex < $MYSQLTEST_VARDIR/tmp/mdev-14593.sql 2>&1
+remove_file $MYSQLTEST_VARDIR/tmp/mdev-14593.sql;
+
+
+#Cleanup
+DROP TABLE t1;
+
+# Wait till all disconnects are completed
+ --source include/wait_until_count_sessions.inc