mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 15:50:51 +03:00 
			
		
		
		
	into pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint BitKeeper/etc/ignore: auto-union client/mysqltest.c: Auto merged extra/comp_err.c: Auto merged include/my_time.h: Auto merged mysql-test/r/innodb.result: Auto merged mysql-test/r/mysqltest.result: Auto merged mysql-test/r/type_blob.result: Auto merged mysql-test/t/mysqltest.test: Auto merged sql/item.cc: Auto merged sql/item_cmpfunc.cc: Auto merged sql/item_cmpfunc.h: Auto merged sql/item_strfunc.cc: Auto merged sql/log.cc: Auto merged sql/mysql_priv.h: Auto merged sql/mysqld.cc: Auto merged sql/set_var.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_load.cc: Auto merged sql/sql_parse.cc: Auto merged sql/sql_select.cc: Auto merged sql/tztime.cc: Auto merged client/mysql_upgrade.c: Manual merge mysql-test/mysql-test-run.pl: Manual merge mysql-test/r/ctype_cp932.result: Manual merge mysql-test/r/mysqlbinlog.result: Manual merge mysql-test/t/ctype_cp932.test: Manual merge mysql-test/t/mysql.test: Manual merge mysql-test/t/mysqlbinlog.test: Manual merge
		
			
				
	
	
		
			269 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			269 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # This test should work in embedded server after we fix mysqltest
 | |
| -- source include/not_embedded.inc
 | |
| #
 | |
| # Testing the MySQL command line client(mysql)
 | |
| #
 | |
| 
 | |
| --disable_warnings
 | |
| drop table if exists t1;
 | |
| --enable_warnings
 | |
| 
 | |
| #
 | |
| # Test the "delimiter" functionality
 | |
| # Bug#9879
 | |
| #
 | |
| create table t1(a int);
 | |
| insert into t1 values(1);
 | |
| 
 | |
| # Test delimiters
 | |
| --exec $MYSQL test 2>&1 < "./t/mysql_delimiter.sql"
 | |
| 
 | |
| --disable_query_log
 | |
| # Test delimiter : supplied on the command line
 | |
| select "Test delimiter : from command line" as "_";
 | |
| --exec $MYSQL test --delimiter=":" -e "select * from t1:"
 | |
| # Test delimiter :; supplied on the command line
 | |
| select "Test delimiter :; from command line" as "_";
 | |
| --exec $MYSQL test --delimiter=":;" -e "select * from t1:;"
 | |
| # Test 'go' command (vertical output) \G
 | |
| select "Test 'go' command(vertical output) \G" as "_";
 | |
| --exec $MYSQL test -e "select * from t1\G"
 | |
| # Test 'go' command \g
 | |
| select "Test  'go' command \g" as "_";
 | |
| --exec $MYSQL test -e "select * from t1\g"
 | |
| --enable_query_log
 | |
| drop table t1;
 | |
| 
 | |
| #
 | |
| # BUG9998 - MySQL client hangs on USE "database"
 | |
| #
 | |
| create table t1(a int);
 | |
| lock tables t1 write;
 | |
| --exec $MYSQL -e "use test; select database();"
 | |
| unlock tables;
 | |
| drop table t1;
 | |
| 
 | |
| #
 | |
| # 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
 | |
| 
 | |
| #
 | |
| # Bug#17939 Wrong table format when using UTF8 strings
 | |
| #
 | |
| --exec $MYSQL --default-character-set=utf8 --table -e "SELECT 'John Doe' as '__tañgè Ñãmé'" 2>&1
 | |
| --exec $MYSQL --default-character-set=utf8 --table -e "SELECT '__tañgè Ñãmé' as 'John Doe'" 2>&1
 | |
| 
 | |
| #
 | |
| # Bug#18265 -- mysql client: No longer right-justifies numeric columns
 | |
| #
 | |
| --exec $MYSQL -t --default-character-set utf8 test -e "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;"
 | |
| 
 | |
| #
 | |
| # "DESCRIBE" commands may return strange NULLness flags.
 | |
| #
 | |
| --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;"
 | |
| --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;"
 | |
| 
 | |
| #
 | |
| # Bug#19564: mysql displays NULL instead of space
 | |
| #
 | |
| --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;" 
 | |
| --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;" 
 | |
| 
 | |
| #
 | |
| # Bug#21618: NULL shown as empty string in client
 | |
| #
 | |
| --exec $MYSQL test -e "select unhex('zz');" 
 | |
| --exec $MYSQL -t test -e "select unhex('zz');" 
 | |
| 
 | |
| # 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;
 | |
| 
 | |
| --disable_parsing
 | |
| #
 | |
| # Bug#21042  	mysql client segfaults on importing a mysqldump export
 | |
| #
 | |
| --error 1
 | |
| --exec $MYSQL test -e "connect verylongdatabasenamethatshouldblowthe256byteslongbufferincom_connectfunctionxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxendcccccccdxxxxxxxxxxxxxxxxxkskskskskkskskskskskskskskskskkskskskskkskskskskskskskskskend" 2>&1
 | |
| --enable_parsing
 | |
| 
 | |
| 
 | |
| #
 | |
| # Bug #20432: mysql client interprets commands in comments
 | |
| #
 | |
| 
 | |
| # if the client sees the 'use' within the comment, we haven't fixed
 | |
| --exec echo "/*"          >  $MYSQLTEST_VARDIR/tmp/bug20432.sql
 | |
| --exec echo "use"         >> $MYSQLTEST_VARDIR/tmp/bug20432.sql
 | |
| --exec echo "*/"          >> $MYSQLTEST_VARDIR/tmp/bug20432.sql
 | |
| --exec $MYSQL              < $MYSQLTEST_VARDIR/tmp/bug20432.sql 2>&1
 | |
| 
 | |
| # SQL can have embedded comments => workie
 | |
| --exec echo "select /*"   >  $MYSQLTEST_VARDIR/tmp/bug20432.sql
 | |
| --exec echo "use"         >> $MYSQLTEST_VARDIR/tmp/bug20432.sql
 | |
| --exec echo "*/ 1"        >> $MYSQLTEST_VARDIR/tmp/bug20432.sql
 | |
| --exec $MYSQL              < $MYSQLTEST_VARDIR/tmp/bug20432.sql 2>&1
 | |
| 
 | |
| # client commands on the other hand must be at BOL => error
 | |
| --exec echo "/*"          >  $MYSQLTEST_VARDIR/tmp/bug20432.sql
 | |
| --exec echo "xxx"         >> $MYSQLTEST_VARDIR/tmp/bug20432.sql
 | |
| --exec echo "*/ use"      >> $MYSQLTEST_VARDIR/tmp/bug20432.sql
 | |
| --error 1
 | |
| --exec $MYSQL              < $MYSQLTEST_VARDIR/tmp/bug20432.sql 2>&1
 | |
| 
 | |
| # client comment recognized, but parameter missing => error
 | |
| --exec echo "use"         >  $MYSQLTEST_VARDIR/tmp/bug20432.sql
 | |
| --exec $MYSQL              < $MYSQLTEST_VARDIR/tmp/bug20432.sql 2>&1
 | |
| 
 | |
| #
 | |
| # Bug #20328: mysql client interprets commands in comments
 | |
| #
 | |
| --exec $MYSQL -e "help" > $MYSQLTEST_VARDIR/tmp/bug20328_1.result
 | |
| --exec $MYSQL -e "help " > $MYSQLTEST_VARDIR/tmp/bug20328_2.result
 | |
| --diff_files $MYSQLTEST_VARDIR/tmp/bug20328_1.result $MYSQLTEST_VARDIR/tmp/bug20328_2.result
 | |
| 
 | |
| #
 | |
| # Bug #19216: Client crashes on long SELECT
 | |
| #
 | |
| # 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
 | |
| 
 | |
| --disable_query_log
 | |
| --exec $MYSQL < $MYSQLTEST_VARDIR/tmp/b19216.tmp >/dev/null
 | |
| --enable_query_log
 | |
| 
 | |
| --remove_file $MYSQLTEST_VARDIR/tmp/b19216.tmp
 | |
| 
 | |
| #
 | |
| # Bug #20103: Escaping with backslash does not work
 | |
| #
 | |
| --exec echo "SET SQL_MODE = 'NO_BACKSLASH_ESCAPES';"  > $MYSQLTEST_VARDIR/tmp/bug20103.sql
 | |
| --exec echo "SELECT '\';" >> $MYSQLTEST_VARDIR/tmp/bug20103.sql
 | |
| --exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug20103.sql 2>&1
 | |
| 
 | |
| --exec echo "SET SQL_MODE = '';"  > $MYSQLTEST_VARDIR/tmp/bug20103.sql
 | |
| --exec echo "SELECT '\';';" >> $MYSQLTEST_VARDIR/tmp/bug20103.sql
 | |
| --exec $MYSQL              < $MYSQLTEST_VARDIR/tmp/bug20103.sql 2>&1
 | |
| 
 | |
| #
 | |
| # 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;
 | |
| 
 | |
| #
 | |
| # 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
 | |
| --replace_regex /\([0-9]*\)/(errno)/
 | |
| --error 1
 | |
| --exec $MYSQL test -e "\r test invalid_hostname" 2>&1
 | |
| --replace_regex /\([0-9]*\)/(errno)/
 | |
| --error 1
 | |
| --exec $MYSQL test -e "connect test invalid_hostname" 2>&1
 | |
| 
 | |
| --echo The commands reported in the bug report
 | |
| --replace_regex /\([0-9]*\)/(errno)/
 | |
| --error 1
 | |
| --exec $MYSQL test -e "\r\r\n\r\n cyril\ has\ found\ a\ bug\ :)XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" 2>&1
 | |
| 
 | |
| #--replace_regex /\([0-9]*\)/(errno)/
 | |
| #--error 1
 | |
| #--exec echo '\r\r\n\r\n cyril\ has\ found\ a\ bug\ :)XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' | $MYSQL 2>&1
 | |
| 
 | |
| --echo Too long dbname
 | |
| --error 1
 | |
| --exec $MYSQL test -e "\r test_really_long_dbnamexxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx localhost" 2>&1
 | |
| 
 | |
| --echo Too long hostname
 | |
| --replace_regex /\([0-9]*\)/(errno)/
 | |
| --error 1
 | |
| --exec $MYSQL test -e "\r  test cyrils_superlonghostnameXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" 2>&1
 | |
| 
 | |
| 
 | |
| #
 | |
| # Bug #21412: mysql cmdline client allows backslash(es) 
 | |
| # as delimiter but can't recognize them
 | |
| #
 | |
| 
 | |
| # This should work just fine...
 | |
| --write_file $MYSQLTEST_VARDIR/tmp/bug21412.sql
 | |
| DELIMITER /
 | |
| SELECT 1/
 | |
| EOF
 | |
| --exec $MYSQL             < $MYSQLTEST_VARDIR/tmp/bug21412.sql 2>&1
 | |
| 
 | |
| # This should give an error...
 | |
| --write_file $MYSQLTEST_VARDIR/tmp/bug21412.sql
 | |
| DELIMITER \
 | |
| EOF
 | |
| --exec $MYSQL             < $MYSQLTEST_VARDIR/tmp/bug21412.sql 2>&1
 | |
| 
 | |
| # As should this...
 | |
| --write_file $MYSQLTEST_VARDIR/tmp/bug21412.sql
 | |
| DELIMITER \\
 | |
| EOF
 | |
| --exec $MYSQL             < $MYSQLTEST_VARDIR/tmp/bug21412.sql 2>&1
 | |
| 
 | |
| #
 | |
| # 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
 | |
| --enable_quary_log
 | |
| 
 | |
| --echo End of 5.0 tests
 |