1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
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
|