2009-10-05 15:22:23 +02:00
-- source include/have_working_dns.inc
2006-02-24 17:34:15 +01:00
# This test should work in embedded server after we fix mysqltest
-- source include/not_embedded.inc
2005-05-17 21:14:01 +02:00
#
# Testing the MySQL command line client(mysql)
#
2015-08-11 18:45:38 +02:00
set GLOBAL sql_mode="";
set LOCAL sql_mode="";
2005-05-17 21:14:01 +02:00
--disable_warnings
2011-10-26 19:25:18 +02:00
drop table if exists t1,t2,t3;
2005-05-17 21:14:01 +02:00
--enable_warnings
#
# Test the "delimiter" functionality
# Bug#9879
#
create table t1(a int);
insert into t1 values(1);
# Test delimiters
2018-03-09 13:05:35 +01:00
--exec $MYSQL test 2>&1 < "./main/mysql_delimiter.sql"
2005-05-17 21:14:01 +02:00
--disable_query_log
# Test delimiter : supplied on the command line
2006-07-17 12:22:21 +02:00
select "Test delimiter : from command line" as "_";
2005-09-24 04:11:51 +02:00
--exec $MYSQL test --delimiter=":" -e "select * from t1:"
2005-05-17 21:14:01 +02:00
# Test delimiter :; supplied on the command line
2006-07-17 12:22:21 +02:00
select "Test delimiter :; from command line" as "_";
2005-09-24 04:11:51 +02:00
--exec $MYSQL test --delimiter=":;" -e "select * from t1:;"
2005-05-17 21:14:01 +02:00
# Test 'go' command (vertical output) \G
2006-07-17 12:22:21 +02:00
select "Test 'go' command(vertical output) \G" as "_";
2005-09-24 04:11:51 +02:00
--exec $MYSQL test -e "select * from t1\G"
2005-05-17 21:14:01 +02:00
# Test 'go' command \g
2006-07-17 12:22:21 +02:00
select "Test 'go' command \g" as "_";
2005-09-24 04:11:51 +02:00
--exec $MYSQL test -e "select * from t1\g"
2005-05-17 21:14:01 +02:00
--enable_query_log
2005-06-03 15:29:05 +02:00
drop table t1;
2005-05-17 21:14:01 +02:00
2005-06-03 15:29:05 +02:00
#
# BUG9998 - MySQL client hangs on USE "database"
#
create table t1(a int);
lock tables t1 write;
2005-09-24 04:11:51 +02:00
--exec $MYSQL -e "use test; select database();"
2005-06-03 15:29:05 +02:00
unlock tables;
2005-05-17 21:14:01 +02:00
drop table t1;
2005-06-03 15:29:05 +02:00
2006-03-03 22:26:38 +01:00
#
# Bug#16859 -- NULLs in columns must not truncate data as if a C-language "string".
#
--exec $MYSQL -t test -e "create table t1 (col1 binary(4), col2 varchar(10), col3 int); insert into t1 values ('a', 'b', 123421),('a ', '0123456789', 4), ('abcd', '', 4); select concat('>',col1,'<'), col2, col3 from t1; drop table t1;" 2>&1
2006-04-04 23:35:07 +02:00
2006-09-06 07:06:03 +02:00
#
# Bug#17939 Wrong table format when using UTF8 strings
2018-05-18 01:23:15 +02:00
write_file $MYSQL_TMP_DIR/mysql_in;
SELECT 'John Doe' as '__tañgè Ñãmé';
SELECT '__tañgè Ñãmé' as 'John Doe';
EOF
--exec $MYSQL --default-character-set=utf8 --table < $MYSQL_TMP_DIR/mysql_in 2>&1
remove_file $MYSQL_TMP_DIR/mysql_in;
2006-09-06 07:06:03 +02:00
2006-04-04 23:35:07 +02:00
#
# Bug#18265 -- mysql client: No longer right-justifies numeric columns
#
2018-05-18 01:23:15 +02:00
write_file $MYSQL_TMP_DIR/mysql_in;
create table t1 (i int, j int, k char(25) charset utf8); insert into t1 (i) values (1); insert into t1 (k) values ('<----------------------->'); insert into t1 (k) values ('<-----'); insert into t1 (k) values ('Τη γλώσσα'); insert into t1 (k) values ('ᛖᚴ ᚷᛖᛏ'); select * from t1; DROP TABLE t1;
EOF
--exec $MYSQL -t --default-character-set utf8 test < $MYSQL_TMP_DIR/mysql_in
remove_file $MYSQL_TMP_DIR/mysql_in;
2006-04-04 23:35:07 +02:00
2006-04-16 23:17:36 +02:00
#
# "DESCRIBE" commands may return strange NULLness flags.
#
2006-09-13 17:41:41 +02:00
--exec $MYSQL --default-character-set utf8 test -e "create table t1 (i int, j int not null, k int); insert into t1 values (null, 1, null); select * from t1; describe t1; drop table t1;"
2006-04-16 23:17:36 +02:00
--exec $MYSQL -t --default-character-set utf8 test -e "create table t1 (i int, j int not null, k int); insert into t1 values (null, 1, null); select * from t1; describe t1; drop table t1;"
2006-05-10 04:35:51 +02:00
#
# Bug#19564: mysql displays NULL instead of space
#
2006-09-13 17:41:41 +02:00
--exec $MYSQL test -e "create table b19564 (i int, s1 char(1)); insert into b19564 values (1, 'x'); insert into b19564 values (2, NULL); insert into b19564 values (3, ' '); select * from b19564 order by i; drop table b19564;"
2006-05-10 04:35:51 +02:00
--exec $MYSQL -t test -e "create table b19564 (i int, s1 char(1)); insert into b19564 values (1, 'x'); insert into b19564 values (2, NULL); insert into b19564 values (3, ' '); select * from b19564 order by i; drop table b19564;"
2006-07-24 19:01:54 +02:00
#
2006-09-13 17:41:41 +02:00
# Bug#21618: NULL shown as empty string in client
#
--exec $MYSQL test -e "select unhex('zz');"
--exec $MYSQL -t test -e "select unhex('zz');"
2006-07-24 19:01:54 +02:00
# Bug#19265 describe command does not work from mysql prompt
#
create table t1(a int, b varchar(255), c int);
--exec $MYSQL test -e "desc t1"
--exec $MYSQL test -e "desc t1\g"
drop table t1;
2006-08-02 08:46:58 +02:00
--disable_parsing
2006-07-31 14:22:32 +02:00
#
# Bug#21042 mysql client segfaults on importing a mysqldump export
#
--error 1
--exec $MYSQL test -e "connect verylongdatabasenamethatshouldblowthe256byteslongbufferincom_connectfunctionxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxendcccccccdxxxxxxxxxxxxxxxxxkskskskskkskskskskskskskskskskkskskskskkskskskskskskskskskend" 2>&1
2006-08-02 08:46:58 +02:00
--enable_parsing
2006-07-31 14:22:32 +02:00
2006-05-10 04:35:51 +02:00
2006-08-16 17:03:41 +02:00
#
# Bug #20432: mysql client interprets commands in comments
#
2009-03-02 11:03:13 +01:00
--let $file = $MYSQLTEST_VARDIR/tmp/bug20432.sql
2006-08-16 17:03:41 +02:00
# if the client sees the 'use' within the comment, we haven't fixed
2009-03-02 11:03:13 +01:00
--exec echo "/*" > $file
--exec echo "use" >> $file
--exec echo "*/" >> $file
--exec $MYSQL < $file 2>&1
2006-08-16 17:03:41 +02:00
# SQL can have embedded comments => workie
2009-03-02 11:03:13 +01:00
--exec echo "select /*" > $file
--exec echo "use" >> $file
--exec echo "*/ 1" >> $file
--exec $MYSQL < $file 2>&1
2006-08-16 17:03:41 +02:00
# client commands on the other hand must be at BOL => error
2009-03-02 11:03:13 +01:00
--exec echo "/*" > $file
--exec echo "xxx" >> $file
--exec echo "*/ use" >> $file
2006-08-16 17:03:41 +02:00
--error 1
2009-03-02 11:03:13 +01:00
--exec $MYSQL < $file 2>&1
2006-08-16 17:03:41 +02:00
# client comment recognized, but parameter missing => error
2009-03-02 11:03:13 +01:00
--exec echo "use" > $file
--exec $MYSQL < $file 2>&1
2011-08-29 17:14:14 +02:00
# Test exceutable comments
--exec echo "SELECT 1 /*! +1 */;" > $file
--exec echo "SELECT 1 /*M! +1 */;" >> $file
--exec echo "SELECT 1 /*!00000 +1 */;" >> $file
--exec echo "SELECT 1 /*M!00000 +1 */" >> $file
--exec $MYSQL < $file 2>&1
2009-03-02 11:03:13 +01:00
--remove_file $file
2006-05-10 04:35:51 +02:00
2006-08-16 17:03:41 +02:00
#
# Bug #20328: mysql client interprets commands in comments
#
2009-03-02 11:03:13 +01:00
--let $file1 = $MYSQLTEST_VARDIR/tmp/bug20328_1.result
--let $file2 = $MYSQLTEST_VARDIR/tmp/bug20328_2.result
--exec $MYSQL -e "help" > $file1
--exec $MYSQL -e "help " > $file2
--diff_files $file1 $file2
--remove_file $file1
--remove_file $file2
2006-08-16 17:03:41 +02:00
2006-11-13 14:37:04 +01:00
#
# Bug #19216: Client crashes on long SELECT
#
2007-01-17 13:43:03 +01:00
# Create large SELECT
# - 3400 * 20 makes 68000 columns that is more than the
# max number that can fit in a 16 bit number.
--perl
open(FILE,">","$ENV{'MYSQLTEST_VARDIR'}/tmp/b19216.tmp") or die;
print FILE "select\n";
print FILE "'a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a',\n" x 3400;
print FILE "'b';\n";
close FILE;
EOF
2006-11-13 14:37:04 +01:00
--disable_query_log
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/b19216.tmp >/dev/null
--enable_query_log
2007-01-17 13:43:03 +01:00
--remove_file $MYSQLTEST_VARDIR/tmp/b19216.tmp
2006-08-16 17:03:41 +02:00
#
# Bug #20103: Escaping with backslash does not work
#
2009-03-02 11:03:13 +01:00
--let $file = $MYSQLTEST_VARDIR/tmp/bug20103.sql
--exec echo "SET SQL_MODE = 'NO_BACKSLASH_ESCAPES';" > $file
--exec echo "SELECT '\';" >> $file
--exec $MYSQL < $file 2>&1
2006-08-16 17:03:41 +02:00
2009-03-02 11:03:13 +01:00
--exec echo "SET SQL_MODE = '';" > $file
--exec echo "SELECT '\';';" >> $file
--exec $MYSQL < $file 2>&1
--remove_file $file
2006-08-16 17:03:41 +02:00
2006-10-10 00:50:12 +02:00
#
# Bug#17583: mysql drops connection when stdout is not writable
#
create table t17583 (a int);
insert into t17583 (a) values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
insert into t17583 select a from t17583;
insert into t17583 select a from t17583;
insert into t17583 select a from t17583;
insert into t17583 select a from t17583;
insert into t17583 select a from t17583;
insert into t17583 select a from t17583;
insert into t17583 select a from t17583;
# Close to the minimal data needed to exercise bug.
select count(*) from t17583;
--exec echo "select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; select count(*) from t17583; " |$MYSQL test >&-
drop table t17583;
2006-10-26 19:51:29 +02:00
#
# Bug#20984: Reproducible MySQL client segmentation fault
# + additional tests for the "com_connect" function in mysql
#
#
--echo Test connect without db- or host-name => reconnect
--exec $MYSQL test -e "\r" 2>&1
--exec $MYSQL test -e "connect" 2>&1
--echo Test connect with dbname only => new dbname, old hostname
--exec $MYSQL test -e "\r test" 2>&1
--exec $MYSQL test -e "connect test" 2>&1
--exec $MYSQL test -e "\rtest" 2>&1
--error 1
--exec $MYSQL test -e "connecttest" 2>&1
--echo Test connect with _invalid_ dbname only => new invalid dbname, old hostname
--error 1
--exec $MYSQL test -e "\r invalid" 2>&1
--error 1
--exec $MYSQL test -e "connect invalid" 2>&1
--echo Test connect with dbname + hostname
--exec $MYSQL test -e "\r test localhost" 2>&1
--exec $MYSQL test -e "connect test localhost" 2>&1
--echo Test connect with dbname + _invalid_ hostname
# Mask the errno of the error message
2012-06-05 13:09:18 +02:00
--replace_regex /\([0-9|-]*\)/(errno)/
2006-10-26 19:51:29 +02:00
--error 1
--exec $MYSQL test -e "\r test invalid_hostname" 2>&1
2012-06-05 13:09:18 +02:00
--replace_regex /\([0-9|-]*\)/(errno)/
2006-10-26 19:51:29 +02:00
--error 1
--exec $MYSQL test -e "connect test invalid_hostname" 2>&1
--echo The commands reported in the bug report
2012-06-05 13:09:18 +02:00
--replace_regex /\([0-9|-]*\)/(errno)/
2006-10-26 19:51:29 +02:00
--error 1
--exec $MYSQL test -e "\r\r\n\r\n cyril\ has\ found\ a\ bug\ :)XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" 2>&1
2012-06-05 13:09:18 +02:00
#--replace_regex /\([0-9|-]*\)/(errno)/
2006-11-03 16:09:16 +01:00
#--error 1
#--exec echo '\r\r\n\r\n cyril\ has\ found\ a\ bug\ :)XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' | $MYSQL 2>&1
2006-10-26 19:51:29 +02:00
--echo Too long dbname
--error 1
2006-11-03 16:09:16 +01:00
--exec $MYSQL test -e "\r test_really_long_dbnamexxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx localhost" 2>&1
2006-10-26 19:51:29 +02:00
--echo Too long hostname
2012-06-05 13:09:18 +02:00
--replace_regex /\([0-9|-]*\)/(errno)/
2006-10-26 19:51:29 +02:00
--error 1
2006-11-03 16:09:16 +01:00
--exec $MYSQL test -e "\r test cyrils_superlonghostnameXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" 2>&1
2006-10-26 19:51:29 +02:00
2006-11-27 20:46:48 +01:00
2006-10-02 17:45:48 +02:00
#
# Bug #21412: mysql cmdline client allows backslash(es)
# as delimiter but can't recognize them
#
# This should work just fine...
2007-02-20 13:06:01 +01:00
--write_file $MYSQLTEST_VARDIR/tmp/bug21412.sql
DELIMITER /
SELECT 1/
EOF
2006-10-02 17:45:48 +02:00
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug21412.sql 2>&1
2007-08-07 11:40:03 +02:00
remove_file $MYSQLTEST_VARDIR/tmp/bug21412.sql;
2006-10-02 17:45:48 +02:00
# This should give an error...
2007-02-20 13:06:01 +01:00
--write_file $MYSQLTEST_VARDIR/tmp/bug21412.sql
DELIMITER \
EOF
2006-10-02 17:45:48 +02:00
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug21412.sql 2>&1
2007-08-07 11:40:03 +02:00
remove_file $MYSQLTEST_VARDIR/tmp/bug21412.sql;
2006-10-02 17:45:48 +02:00
# As should this...
2007-02-20 13:06:01 +01:00
--write_file $MYSQLTEST_VARDIR/tmp/bug21412.sql
DELIMITER \\
EOF
2006-10-02 17:45:48 +02:00
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug21412.sql 2>&1
2007-08-07 11:40:03 +02:00
remove_file $MYSQLTEST_VARDIR/tmp/bug21412.sql;
2006-10-02 17:45:48 +02:00
2006-12-14 23:51:37 +01:00
#
# Some coverage of not normally used parts
#
--disable_query_log
--exec $MYSQL test -e "show status" 2>&1 > /dev/null
--exec $MYSQL --help 2>&1 > /dev/null
--exec $MYSQL --version 2>&1 > /dev/null
2007-06-01 15:49:01 +02:00
--enable_query_log
2006-12-14 23:51:37 +01:00
2007-04-16 09:28:02 +02:00
#
# bug #26851: Mysql Client --pager Buffer Overflow
#
2007-04-23 12:58:35 +02:00
# allow error 7(invalid argument) since --pager does not always exist in mysql
--error 0,7
--exec $MYSQL --pager="540bytelengthstringxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" -e "select 1" > /dev/null 2>&1
2007-04-16 09:28:02 +02:00
--exec $MYSQL --character-sets-dir="540bytelengthstringxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" -e "select 1" 2>&1
2007-08-30 10:53:24 +02:00
#
# bug #30164: Using client side macro inside server side comments generates broken queries
#
2007-08-30 15:21:43 +02:00
--exec $MYSQL test -e "/*! \C latin1 */ select 1;"
2007-08-30 10:53:24 +02:00
2007-10-04 10:06:01 +02:00
#
# Bug#29323 mysql client only accetps ANSI encoded files
#
--write_file $MYSQLTEST_VARDIR/tmp/bug29323.sql
select "This is a file starting with UTF8 BOM 0xEFBBBF";
EOF
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug29323.sql 2>&1
remove_file $MYSQLTEST_VARDIR/tmp/bug29323.sql;
2008-12-11 18:26:03 +01:00
#
# Bug #33812: mysql client incorrectly parsing DELIMITER
#
# The space and ; after delimiter are important
--exec $MYSQL -e "select 1 delimiter ;"
#
# Bug #38158: mysql client regression, can't read dump files
#
--write_file $MYSQLTEST_VARDIR/tmp/bug38158.sql
-- Testing
--
delimiter ||
select 2 ||
EOF
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug38158.sql 2>&1
--exec $MYSQL -c < $MYSQLTEST_VARDIR/tmp/bug38158.sql 2>&1
remove_file $MYSQLTEST_VARDIR/tmp/bug38158.sql;
2009-01-09 12:50:18 +01:00
#
# Bug #41437: Value stored in 'case' lacks charset, causees segfault
#
--exec $MYSQL -e "select @z:='1',@z=database()"
2009-02-24 14:06:28 +01:00
#
# Bug #31060: MySQL CLI parser bug 2
#
--write_file $MYSQLTEST_VARDIR/tmp/bug31060.sql
;DELIMITER DELIMITER
;
SELECT 1DELIMITER
DELIMITER ;
SELECT 1;
EOF
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug31060.sql 2>&1
remove_file $MYSQLTEST_VARDIR/tmp/bug31060.sql;
2009-05-07 19:28:29 +02:00
#
# Bug #39101: client -i (--ignore-spaces) option does not seem to work
#
--exec $MYSQL -i -e "SELECT COUNT (*)"
--exec $MYSQL --ignore-spaces -e "SELECT COUNT (*)"
--exec $MYSQL -b -i -e "SELECT COUNT (*)"
2009-05-28 10:34:30 +02:00
#
# Bug#37268 'binary' character set makes CLI-internal commands case sensitive
#
2012-06-05 13:09:18 +02:00
--replace_regex /\([0-9|-]*\)/(errno)/
2009-05-28 10:34:30 +02:00
--error 1
--exec $MYSQL --default-character-set=binary test -e "CONNECT test invalid_hostname" 2>&1
--exec $MYSQL --default-character-set=binary test -e "DELIMITER //" 2>&1
2006-08-16 17:03:41 +02:00
--echo End of 5.0 tests
2007-08-04 03:08:48 +02:00
#
# Bug #29903: The CMake build method does not produce the embedded library.
#
--disable_query_log
--exec $MYSQL --server-arg=no-defaults test -e "quit"
--enable_query_log
2007-11-21 01:03:56 +01:00
2009-11-04 13:20:02 +01:00
#
# Bug#26780: patch to add auto vertical output option to the cli.
#
# Make this wide enough that it will wrap almost everywhere.
--exec $MYSQL test --auto-vertical-output --table -e "SELECT 1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0;"
# Too short to wrap.
--exec $MYSQL test --auto-vertical-output --table -e "SELECT 1;"
2007-11-21 01:03:56 +01:00
#
# Bug #25146: Some warnings/errors not shown when using --show-warnings
#
# This one should succeed with no warnings
--exec $MYSQL --show-warnings test -e "create table t1 (id int)"
# This should succeed, with warnings about conversion from nonexistent engine
--exec $MYSQL --show-warnings test -e "create table t2 (id int) engine=nonexistent"
# This should fail, with warnings as well
--error 1
2007-11-26 19:50:43 +01:00
--exec $MYSQL --show-warnings test -e "create table t2 (id int) engine=nonexistent2"
2007-11-21 01:03:56 +01:00
drop tables t1, t2;
2009-10-15 14:23:43 +02:00
#
# mysql client with 'init-command' option
#
--exec $MYSQL --init-command="SET lc_messages=ru_RU" -e "SHOW VARIABLES LIKE 'lc_messages';"
2009-04-28 19:54:26 +02:00
#
# Bug #27884: mysql --html does not quote HTML special characters in output
#
2009-11-27 14:46:54 +01:00
--write_file $MYSQLTEST_VARDIR/tmp/bug27884.sql
SELECT '< & >' AS `<`;
EOF
--exec $MYSQL --html test < $MYSQLTEST_VARDIR/tmp/bug27884.sql
2009-04-28 19:54:26 +02:00
2009-11-27 15:36:22 +01:00
remove_file $MYSQLTEST_VARDIR/tmp/bug27884.sql;
2009-11-23 23:38:08 +01:00
2009-04-28 19:54:26 +02:00
2009-07-15 02:03:51 +02:00
#
2009-11-27 15:41:45 +01:00
# Bug #28203: mysql client + null byte
2009-07-15 02:03:51 +02:00
#
create table t1 (a char(5));
insert into t1 values ('\0b\0');
--exec $MYSQL test -e "select a from t1"
--exec $MYSQL -r test -e "select a from t1"
--exec $MYSQL -s test -e "select a from t1"
--exec $MYSQL --table test -e "select a from t1"
--exec $MYSQL --vertical test -e "select a from t1"
--exec $MYSQL --html test -e "select a from t1"
--exec $MYSQL --xml test -e "select a from t1"
drop table t1;
2009-09-22 00:20:14 +02:00
--echo
--echo Bug #47147: mysql client option --skip-column-names does not apply to vertical output
--echo
--exec $MYSQL --skip-column-names --vertical test -e "select 1 as a"
2009-11-27 15:41:45 +01:00
2011-02-05 06:02:00 +01:00
#
# Bug#57450: mysql client enter in an infinite loop if the standard input is a directory
#
--error 1
--exec $MYSQL < .
Bug #54899 : --one-database option cannot handle DROP/CREATE DATABASE commands
After dropping and recreating the database specified along with --one-database
option at command line, mysql client keeps filtering the statements even after
the execution of a 'USE' command on the same database.
--one-database option enables the filtering of statements when the current
database is not the one specified at the command line. However, when the same
database is dropped and recreated the variable (current_db) that holds the
inital database name gets altered. This bug exploits the fact that current_db
initially gets set to null value (0) when a 'use db_name' follows the recreation
of same database db_name (speficied at the command line) and hence skip_updates
gets set to 1, which inturn triggers the further filtering of statements.
Fixed by making get_current_db() a no-op function when one_database is set,
and hence, under that condition current_db will not get altered.
Note, however the value of current_db can change when we execute 'connect'
command with a differnet database to reconnect to the server, in which case,
the behavior of --one-database will be formulated using this new database.
client/mysql.cc:
Bug #54899 : --one-database option cannot handle DROP/CREATE DATABASE commands
Added an if statement at the beginnning of get_current_db() , which makes it
a no-op function if one-database option is specified, and hence current_db
remains unchanged.
Changed the help message for one-database option to a more appropriate message
as specified in mysql documentation.
mysql-test/r/mysql.result:
Added a test case for bug#54899 and some more test cases to
check other one-database option related behaviors.
mysql-test/t/mysql.test:
Added a test case for bug#54899 and some more test cases to
check other one-database option related behaviors.
2010-11-26 14:57:59 +01:00
--echo
--echo #
--echo # Bug #54899: --one-database option cannot handle DROP/CREATE DATABASE
--echo # commands.
--echo #
--write_file $MYSQLTEST_VARDIR/tmp/bug54899.sql
DROP DATABASE connected_db;
CREATE DATABASE connected_db;
USE connected_db;
CREATE TABLE `table_in_connected_db`(a INT);
EOF
CREATE DATABASE connected_db;
--exec $MYSQL --one-database connected_db < $MYSQLTEST_VARDIR/tmp/bug54899.sql
USE connected_db;
SHOW TABLES;
DROP DATABASE connected_db;
--remove_file $MYSQLTEST_VARDIR/tmp/bug54899.sql
--echo
--echo #
--echo # Testing --one-database option
--echo #
--write_file $MYSQLTEST_VARDIR/tmp/one_db.sql
CREATE TABLE t1 (i INT);
CREATE TABLE test.t1 (i INT);
USE test;
# Following statements should be filtered.
CREATE TABLE connected_db.t2 (i INT);
CREATE TABLE t2 (i INT);
EOF
CREATE DATABASE connected_db;
--exec $MYSQL --one-database connected_db < $MYSQLTEST_VARDIR/tmp/one_db.sql
SHOW TABLES IN connected_db;
SHOW TABLES IN test;
USE test;
DROP TABLE t1;
DROP DATABASE connected_db;
--remove_file $MYSQLTEST_VARDIR/tmp/one_db.sql
--echo
--write_file $MYSQLTEST_VARDIR/tmp/one_db.sql
CREATE DATABASE test1;
USE test1;
USE test1;
# Following statements should be filtered.
CREATE TABLE connected_db.t1 (i INT);
EOF
--exec $MYSQL --one-database test < $MYSQLTEST_VARDIR/tmp/one_db.sql
SHOW TABLES IN test;
SHOW TABLES IN test1;
DROP DATABASE test1;
--remove_file $MYSQLTEST_VARDIR/tmp/one_db.sql
--echo
--echo #
--echo # Checking --one-database option followed by the execution of
--echo # connect command.
--echo #
--write_file $MYSQLTEST_VARDIR/tmp/one_db.sql
CREATE TABLE t1 (i INT);
CREATE TABLE test.t1 (i INT);
CONNECT test;
CREATE TABLE connected_db.t2 (i INT);
CREATE TABLE t2 (i INT);
USE connected_db;
# Following statements should be filtered.
CREATE TABLE connected_db.t3 (i INT);
CREATE TABLE t3 (i INT);
EOF
CREATE DATABASE connected_db;
--exec $MYSQL --one-database connected_db < $MYSQLTEST_VARDIR/tmp/one_db.sql
SHOW TABLES IN connected_db;
SHOW TABLES IN test;
DROP TABLE test.t1;
DROP TABLE test.t2;
DROP DATABASE connected_db;
--remove_file $MYSQLTEST_VARDIR/tmp/one_db.sql
--echo
--echo #
--echo # Checking --one-database option with no database specified
--echo # at command-line.
--echo #
--write_file $MYSQLTEST_VARDIR/tmp/one_db.sql
# All following statements should be filtered.
CREATE TABLE t1 (i INT);
CREATE TABLE test.t1 (i INT);
USE test;
CREATE TABLE test.t2 (i INT);
CREATE TABLE t2 (i INT);
EOF
--exec $MYSQL --one-database < $MYSQLTEST_VARDIR/tmp/one_db.sql
SHOW TABLES IN test;
--remove_file $MYSQLTEST_VARDIR/tmp/one_db.sql
--echo
--echo #
--echo # Checking --one-database option with non_existent_db
--echo # specified with USE command
--echo #
2010-12-01 07:55:31 +01:00
# CASE 1 : When 'connected_db' database exists and passed at commandline.
Bug #54899 : --one-database option cannot handle DROP/CREATE DATABASE commands
After dropping and recreating the database specified along with --one-database
option at command line, mysql client keeps filtering the statements even after
the execution of a 'USE' command on the same database.
--one-database option enables the filtering of statements when the current
database is not the one specified at the command line. However, when the same
database is dropped and recreated the variable (current_db) that holds the
inital database name gets altered. This bug exploits the fact that current_db
initially gets set to null value (0) when a 'use db_name' follows the recreation
of same database db_name (speficied at the command line) and hence skip_updates
gets set to 1, which inturn triggers the further filtering of statements.
Fixed by making get_current_db() a no-op function when one_database is set,
and hence, under that condition current_db will not get altered.
Note, however the value of current_db can change when we execute 'connect'
command with a differnet database to reconnect to the server, in which case,
the behavior of --one-database will be formulated using this new database.
client/mysql.cc:
Bug #54899 : --one-database option cannot handle DROP/CREATE DATABASE commands
Added an if statement at the beginnning of get_current_db() , which makes it
a no-op function if one-database option is specified, and hence current_db
remains unchanged.
Changed the help message for one-database option to a more appropriate message
as specified in mysql documentation.
mysql-test/r/mysql.result:
Added a test case for bug#54899 and some more test cases to
check other one-database option related behaviors.
mysql-test/t/mysql.test:
Added a test case for bug#54899 and some more test cases to
check other one-database option related behaviors.
2010-11-26 14:57:59 +01:00
--write_file $MYSQLTEST_VARDIR/tmp/one_db_1.sql
2010-12-01 07:55:31 +01:00
CREATE TABLE `table_in_connected_db`(i INT);
Bug #54899 : --one-database option cannot handle DROP/CREATE DATABASE commands
After dropping and recreating the database specified along with --one-database
option at command line, mysql client keeps filtering the statements even after
the execution of a 'USE' command on the same database.
--one-database option enables the filtering of statements when the current
database is not the one specified at the command line. However, when the same
database is dropped and recreated the variable (current_db) that holds the
inital database name gets altered. This bug exploits the fact that current_db
initially gets set to null value (0) when a 'use db_name' follows the recreation
of same database db_name (speficied at the command line) and hence skip_updates
gets set to 1, which inturn triggers the further filtering of statements.
Fixed by making get_current_db() a no-op function when one_database is set,
and hence, under that condition current_db will not get altered.
Note, however the value of current_db can change when we execute 'connect'
command with a differnet database to reconnect to the server, in which case,
the behavior of --one-database will be formulated using this new database.
client/mysql.cc:
Bug #54899 : --one-database option cannot handle DROP/CREATE DATABASE commands
Added an if statement at the beginnning of get_current_db() , which makes it
a no-op function if one-database option is specified, and hence current_db
remains unchanged.
Changed the help message for one-database option to a more appropriate message
as specified in mysql documentation.
mysql-test/r/mysql.result:
Added a test case for bug#54899 and some more test cases to
check other one-database option related behaviors.
mysql-test/t/mysql.test:
Added a test case for bug#54899 and some more test cases to
check other one-database option related behaviors.
2010-11-26 14:57:59 +01:00
USE non_existent_db;
# Following statement should be filtered out.
CREATE TABLE `table_in_non_existent_db`(i INT);
EOF
2010-12-01 07:55:31 +01:00
# CASE 2 : When 'connected_db' database exists but dropped and recreated in
# load file.
Bug #54899 : --one-database option cannot handle DROP/CREATE DATABASE commands
After dropping and recreating the database specified along with --one-database
option at command line, mysql client keeps filtering the statements even after
the execution of a 'USE' command on the same database.
--one-database option enables the filtering of statements when the current
database is not the one specified at the command line. However, when the same
database is dropped and recreated the variable (current_db) that holds the
inital database name gets altered. This bug exploits the fact that current_db
initially gets set to null value (0) when a 'use db_name' follows the recreation
of same database db_name (speficied at the command line) and hence skip_updates
gets set to 1, which inturn triggers the further filtering of statements.
Fixed by making get_current_db() a no-op function when one_database is set,
and hence, under that condition current_db will not get altered.
Note, however the value of current_db can change when we execute 'connect'
command with a differnet database to reconnect to the server, in which case,
the behavior of --one-database will be formulated using this new database.
client/mysql.cc:
Bug #54899 : --one-database option cannot handle DROP/CREATE DATABASE commands
Added an if statement at the beginnning of get_current_db() , which makes it
a no-op function if one-database option is specified, and hence current_db
remains unchanged.
Changed the help message for one-database option to a more appropriate message
as specified in mysql documentation.
mysql-test/r/mysql.result:
Added a test case for bug#54899 and some more test cases to
check other one-database option related behaviors.
mysql-test/t/mysql.test:
Added a test case for bug#54899 and some more test cases to
check other one-database option related behaviors.
2010-11-26 14:57:59 +01:00
--write_file $MYSQLTEST_VARDIR/tmp/one_db_2.sql
2010-12-01 07:55:31 +01:00
DROP DATABASE connected_db;
CREATE DATABASE connected_db;
Bug #54899 : --one-database option cannot handle DROP/CREATE DATABASE commands
After dropping and recreating the database specified along with --one-database
option at command line, mysql client keeps filtering the statements even after
the execution of a 'USE' command on the same database.
--one-database option enables the filtering of statements when the current
database is not the one specified at the command line. However, when the same
database is dropped and recreated the variable (current_db) that holds the
inital database name gets altered. This bug exploits the fact that current_db
initially gets set to null value (0) when a 'use db_name' follows the recreation
of same database db_name (speficied at the command line) and hence skip_updates
gets set to 1, which inturn triggers the further filtering of statements.
Fixed by making get_current_db() a no-op function when one_database is set,
and hence, under that condition current_db will not get altered.
Note, however the value of current_db can change when we execute 'connect'
command with a differnet database to reconnect to the server, in which case,
the behavior of --one-database will be formulated using this new database.
client/mysql.cc:
Bug #54899 : --one-database option cannot handle DROP/CREATE DATABASE commands
Added an if statement at the beginnning of get_current_db() , which makes it
a no-op function if one-database option is specified, and hence current_db
remains unchanged.
Changed the help message for one-database option to a more appropriate message
as specified in mysql documentation.
mysql-test/r/mysql.result:
Added a test case for bug#54899 and some more test cases to
check other one-database option related behaviors.
mysql-test/t/mysql.test:
Added a test case for bug#54899 and some more test cases to
check other one-database option related behaviors.
2010-11-26 14:57:59 +01:00
USE non_existent_db;
# Following statements should be filtered out.
CREATE TABLE `table_in_non_existent_db`(i INT);
2010-12-01 07:55:31 +01:00
USE connected_db;
Bug #54899 : --one-database option cannot handle DROP/CREATE DATABASE commands
After dropping and recreating the database specified along with --one-database
option at command line, mysql client keeps filtering the statements even after
the execution of a 'USE' command on the same database.
--one-database option enables the filtering of statements when the current
database is not the one specified at the command line. However, when the same
database is dropped and recreated the variable (current_db) that holds the
inital database name gets altered. This bug exploits the fact that current_db
initially gets set to null value (0) when a 'use db_name' follows the recreation
of same database db_name (speficied at the command line) and hence skip_updates
gets set to 1, which inturn triggers the further filtering of statements.
Fixed by making get_current_db() a no-op function when one_database is set,
and hence, under that condition current_db will not get altered.
Note, however the value of current_db can change when we execute 'connect'
command with a differnet database to reconnect to the server, in which case,
the behavior of --one-database will be formulated using this new database.
client/mysql.cc:
Bug #54899 : --one-database option cannot handle DROP/CREATE DATABASE commands
Added an if statement at the beginnning of get_current_db() , which makes it
a no-op function if one-database option is specified, and hence current_db
remains unchanged.
Changed the help message for one-database option to a more appropriate message
as specified in mysql documentation.
mysql-test/r/mysql.result:
Added a test case for bug#54899 and some more test cases to
check other one-database option related behaviors.
mysql-test/t/mysql.test:
Added a test case for bug#54899 and some more test cases to
check other one-database option related behaviors.
2010-11-26 14:57:59 +01:00
# Following statements should not be filtered out.
2010-12-01 07:55:31 +01:00
CREATE TABLE `table_in_connected_db`(i INT);
Bug #54899 : --one-database option cannot handle DROP/CREATE DATABASE commands
After dropping and recreating the database specified along with --one-database
option at command line, mysql client keeps filtering the statements even after
the execution of a 'USE' command on the same database.
--one-database option enables the filtering of statements when the current
database is not the one specified at the command line. However, when the same
database is dropped and recreated the variable (current_db) that holds the
inital database name gets altered. This bug exploits the fact that current_db
initially gets set to null value (0) when a 'use db_name' follows the recreation
of same database db_name (speficied at the command line) and hence skip_updates
gets set to 1, which inturn triggers the further filtering of statements.
Fixed by making get_current_db() a no-op function when one_database is set,
and hence, under that condition current_db will not get altered.
Note, however the value of current_db can change when we execute 'connect'
command with a differnet database to reconnect to the server, in which case,
the behavior of --one-database will be formulated using this new database.
client/mysql.cc:
Bug #54899 : --one-database option cannot handle DROP/CREATE DATABASE commands
Added an if statement at the beginnning of get_current_db() , which makes it
a no-op function if one-database option is specified, and hence current_db
remains unchanged.
Changed the help message for one-database option to a more appropriate message
as specified in mysql documentation.
mysql-test/r/mysql.result:
Added a test case for bug#54899 and some more test cases to
check other one-database option related behaviors.
mysql-test/t/mysql.test:
Added a test case for bug#54899 and some more test cases to
check other one-database option related behaviors.
2010-11-26 14:57:59 +01:00
EOF
2010-12-01 07:55:31 +01:00
CREATE DATABASE connected_db;
--exec $MYSQL --one-database connected_db < $MYSQLTEST_VARDIR/tmp/one_db_1.sql
SHOW TABLES IN connected_db;
Bug #54899 : --one-database option cannot handle DROP/CREATE DATABASE commands
After dropping and recreating the database specified along with --one-database
option at command line, mysql client keeps filtering the statements even after
the execution of a 'USE' command on the same database.
--one-database option enables the filtering of statements when the current
database is not the one specified at the command line. However, when the same
database is dropped and recreated the variable (current_db) that holds the
inital database name gets altered. This bug exploits the fact that current_db
initially gets set to null value (0) when a 'use db_name' follows the recreation
of same database db_name (speficied at the command line) and hence skip_updates
gets set to 1, which inturn triggers the further filtering of statements.
Fixed by making get_current_db() a no-op function when one_database is set,
and hence, under that condition current_db will not get altered.
Note, however the value of current_db can change when we execute 'connect'
command with a differnet database to reconnect to the server, in which case,
the behavior of --one-database will be formulated using this new database.
client/mysql.cc:
Bug #54899 : --one-database option cannot handle DROP/CREATE DATABASE commands
Added an if statement at the beginnning of get_current_db() , which makes it
a no-op function if one-database option is specified, and hence current_db
remains unchanged.
Changed the help message for one-database option to a more appropriate message
as specified in mysql documentation.
mysql-test/r/mysql.result:
Added a test case for bug#54899 and some more test cases to
check other one-database option related behaviors.
mysql-test/t/mysql.test:
Added a test case for bug#54899 and some more test cases to
check other one-database option related behaviors.
2010-11-26 14:57:59 +01:00
--echo
2010-12-01 07:55:31 +01:00
--exec $MYSQL --one-database connected_db < $MYSQLTEST_VARDIR/tmp/one_db_2.sql
SHOW TABLES IN connected_db;
DROP DATABASE connected_db;
Bug #54899 : --one-database option cannot handle DROP/CREATE DATABASE commands
After dropping and recreating the database specified along with --one-database
option at command line, mysql client keeps filtering the statements even after
the execution of a 'USE' command on the same database.
--one-database option enables the filtering of statements when the current
database is not the one specified at the command line. However, when the same
database is dropped and recreated the variable (current_db) that holds the
inital database name gets altered. This bug exploits the fact that current_db
initially gets set to null value (0) when a 'use db_name' follows the recreation
of same database db_name (speficied at the command line) and hence skip_updates
gets set to 1, which inturn triggers the further filtering of statements.
Fixed by making get_current_db() a no-op function when one_database is set,
and hence, under that condition current_db will not get altered.
Note, however the value of current_db can change when we execute 'connect'
command with a differnet database to reconnect to the server, in which case,
the behavior of --one-database will be formulated using this new database.
client/mysql.cc:
Bug #54899 : --one-database option cannot handle DROP/CREATE DATABASE commands
Added an if statement at the beginnning of get_current_db() , which makes it
a no-op function if one-database option is specified, and hence current_db
remains unchanged.
Changed the help message for one-database option to a more appropriate message
as specified in mysql documentation.
mysql-test/r/mysql.result:
Added a test case for bug#54899 and some more test cases to
check other one-database option related behaviors.
mysql-test/t/mysql.test:
Added a test case for bug#54899 and some more test cases to
check other one-database option related behaviors.
2010-11-26 14:57:59 +01:00
--remove_file $MYSQLTEST_VARDIR/tmp/one_db_1.sql
--remove_file $MYSQLTEST_VARDIR/tmp/one_db_2.sql
2013-01-09 23:51:51 +01:00
#
# USE and names with backticks
#
--write_file $MYSQLTEST_VARDIR/tmp/backticks.sql
2016-10-13 21:35:01 +02:00
\u aa`bb``cc
SELECT DATABASE();
USE test
SELECT DATABASE();
2013-01-09 23:51:51 +01:00
USE aa`bb``cc
SELECT DATABASE();
2016-10-13 21:35:01 +02:00
USE test
SELECT DATABASE();
USE `aa``bb````cc`
SELECT DATABASE();
2013-01-09 23:51:51 +01:00
EOF
create database `aa``bb````cc`;
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/backticks.sql
drop database `aa``bb````cc`;
2013-02-28 18:42:49 +01:00
#
# MySQL Bug#13639125 DELIMITER STRIPS THE NEXT NEW LINE IN A SQL STATEMENT
#
--write_file $MYSQLTEST_VARDIR/tmp/13639125.sql
select ">>
delimiter
<<" as a;
EOF
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/13639125.sql
2013-01-09 23:51:51 +01:00
2013-08-08 13:33:15 +02:00
#
# --skip-column-names and alignment
#
--exec $MYSQL -t -N -e "SELECT 'a' union select 'aaaaaaaaaaaaaaaaa'"
2015-03-16 18:55:10 +01:00
--echo #
--echo # Start of 10.1 tests
--echo #
--echo #
--echo # MDEV-6572 "USE dbname" with a bad sequence erroneously connects to a wrong database
--echo #
--echo #
--echo # End of 10.1 tests
--echo #
2018-08-14 22:42:46 +02:00
2015-03-16 18:55:10 +01:00
--write_file $MYSQLTEST_VARDIR/tmp/mdev-6572.sql
SET NAMES utf8;
USE test😁 ;
EOF
--error 1
--exec $MYSQL --default-character-set=utf8 < $MYSQLTEST_VARDIR/tmp/mdev-6572.sql 2>&1
--remove_file $MYSQLTEST_VARDIR/tmp/mdev-6572.sql
2015-08-11 18:45:38 +02:00
set GLOBAL sql_mode=default;
2009-04-28 19:54:26 +02:00
--echo
2007-11-21 01:03:56 +01:00
--echo End of tests
2017-06-27 13:25:50 +02:00
#
# MDEV-13187 incorrect backslash parsing in clients
#
create table `a1\``b1` (a int);
show tables;
insert `a1\``b1` values (1),(2);
show create table `a1\``b1`;
--exec $MYSQL_DUMP --compact test
--exec $MYSQL_DUMP test > $MYSQLTEST_VARDIR/tmp/bug.sql
insert `a1\``b1` values (4),(5);
--exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/bug.sql
show create table `a1\``b1`;
select * from `a1\``b1`;
drop table `a1\``b1`;
2017-06-27 14:00:10 +02:00
# same with ansi_quotes
set sql_mode=ansi_quotes;
create table "a1\""b1" (a int);
show tables;
insert "a1\""b1" values (1),(2);
show create table "a1\""b1";
--exec $MYSQL_DUMP --compact --compatible=postgres test
--exec $MYSQL_DUMP --compatible=postgres test > $MYSQLTEST_VARDIR/tmp/bug.sql
insert "a1\""b1" values (4),(5);
--exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/bug.sql
show create table "a1\""b1";
select * from "a1\""b1";
drop table "a1\""b1";
set sql_mode=default;
2019-01-25 23:12:35 +01:00
#
# mysql --local-infile
#
--let $ldli = load data local infile '$MYSQLTEST_VARDIR/tmp/bug.sql' into table test.t1;
create table t1 (a text);
--exec $MYSQL -e "$ldli"
select count(*) from t1; truncate table t1;
--exec $MYSQL --enable-local-infile -e "$ldli"
select count(*) from t1; truncate table t1;
--error 1
--exec $MYSQL --disable-local-infile -e "$ldli"
select count(*) from t1; truncate table t1;
2019-02-06 12:27:56 +01:00
--error 1
2019-08-30 15:06:54 +02:00
--exec $MYSQL --local-infile=0 -e "/*q*/$ldli"
2019-02-06 12:27:56 +01:00
select count(*) from t1; truncate table t1;
--exec $MYSQL --enable-local-infile -e "/*q*/$ldli"
select count(*) from t1; truncate table t1;
--error 1
--exec $MYSQL --disable-local-infile -e "/*q*/$ldli"
select count(*) from t1; truncate table t1;
2019-01-25 23:12:35 +01:00
drop table t1;
2019-02-10 21:48:12 +01:00
--echo #
--echo # MDEV-15538 '-N' Produce html output wrong
--echo #
--exec $MYSQL -NHe "select 1 as a"