diff options
Diffstat (limited to 'mysql-test/main/client_xml.test')
-rw-r--r-- | mysql-test/main/client_xml.test | 44 |
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 |