mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-03 14:33:32 +03:00 
			
		
		
		
	client will now substitute spaces for NULs, so that the grid isn't messed up due to silently consumed NULs and that the full field is shown. client/mysql.cc: For non-numbers, print each character at a time, instead of using the fprintf() facility, which interprets an array of chars as a C string, which is necessarily NUL terminated. We mustn't terminate on NULs, and since we know the length of the data, we needn't. mysql-test/r/mysql.result: Add a test. mysql-test/t/mysql.test: Add a test.
		
			
				
	
	
		
			64 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			2.3 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#16217 - MySQL client misinterpretes multi-byte char as escape `\' 
 | 
						|
#
 | 
						|
 | 
						|
# new command \C or charset
 | 
						|
--exec $MYSQL --default-character-set=utf8 test -e "\C cp932 \g"
 | 
						|
--exec $MYSQL --default-character-set=cp932 test -e "charset utf8;"
 | 
						|
 | 
						|
# its usage to switch internally in mysql to requested charset
 | 
						|
--exec $MYSQL --default-character-set=utf8 test -e "charset cp932; set @@session.character_set_client= cp932; select 'ƒ\'; create table t1 (c_cp932 TEXT CHARACTER SET cp932); insert into t1 values('ƒ\'); select * from t1;  drop table t1;"
 | 
						|
--exec $MYSQL --default-character-set=utf8 test -e "charset cp932; set character_set_client= cp932; select 'ƒ\'"
 | 
						|
--exec $MYSQL --default-character-set=utf8 test -e "/*charset cp932 */; set character_set_client= cp932; select 'ƒ\'"
 | 
						|
--exec $MYSQL --default-character-set=utf8 test -e "/*!\C cp932 */; set character_set_client= cp932; select 'ƒ\'"
 | 
						|
 | 
						|
#
 | 
						|
# 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
 |