summaryrefslogtreecommitdiff
path: root/mysql-test/main/client_xml.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/main/client_xml.test')
-rw-r--r--mysql-test/main/client_xml.test44
1 files changed, 44 insertions, 0 deletions
diff --git a/mysql-test/main/client_xml.test b/mysql-test/main/client_xml.test
new file mode 100644
index 00000000000..5230922e4b8
--- /dev/null
+++ b/mysql-test/main/client_xml.test
@@ -0,0 +1,44 @@
+# Can't run with embedded server
+-- source include/not_embedded.inc
+
+# Disable concurrent inserts to avoid test failures when reading
+# data from concurrent connections (insert might return before
+# the data is actually in the table).
+set @old_concurrent_insert= @@global.concurrent_insert;
+set @@global.concurrent_insert= 0;
+--disable_warnings
+drop table if exists t1;
+--enable_warnings
+
+# Test of the xml output of the 'mysql' and 'mysqldump' clients -- makes
+# sure that basic encoding issues are handled properly
+create table t1 (
+ `a&b` int,
+ `a<b` int NOT NULL,
+ `a>b` text
+);
+insert into t1 values (1, 2, 'a&b a<b a>b');
+
+# Determine the number of open sessions
+--source include/count_sessions.inc
+
+--exec $MYSQL --xml test -e "select * from t1"
+--exec $MYSQL_DUMP --xml --skip-create-options test
+
+--exec $MYSQL --xml test -e "select count(*) from t1"
+--exec $MYSQL --xml test -e "select 1 < 2 from dual"
+--exec $MYSQL --xml test -e "select 1 > 2 from dual"
+--exec $MYSQL --xml test -e "select 1 & 3 from dual"
+--exec $MYSQL --xml test -e "select null from dual"
+--exec $MYSQL --xml test -e "select 1 limit 0"
+--exec $MYSQL --xml test -vv -e "select 1 limit 0"
+
+drop table t1;
+
+# Restore global concurrent_insert value
+set @@global.concurrent_insert= @old_concurrent_insert;
+
+# Wait till the number of open sessions is <= the number before the runs with
+# $MYSQL and $MYSQL_DUMP
+# = The session caused by mysql and mysqldump have finished their disconnect
+--source include/wait_until_count_sessions.inc