Commit df4d9890 authored by unknown's avatar unknown
Browse files

BUG#9879 delimiter command discrepancy (4.1 vs. 5.0, mysql vs. mysqltest)

 - Added testcases to test delimiters in 5.0
 - In 5.0 it's allowed to have a up to 16 byte string as delimiter, everything after the delimiter token will be treated as the delimiter. It's even allowed to set delimiter to 'delimiter', ':;' or'MySQL'

parent edcdc57b
Loading
Loading
Loading
Loading
+50 −0
Original line number Diff line number Diff line
drop table if exists t1;
create table t1(a int);
insert into t1 values(1);

Test default delimiter ;
a
1

Test delimiter without arg

Test delimiter :
a
1

Test delimiter :
a
1

Test delimiter :;
a
1

Test delimiter //
a
1

Test delimiter MySQL
a
1

Test delimiter delimiter
a
1

Test delimiter : from command line
a
1

Test delimiter :; from command line
a
1

Test 'go' command(vertical output) G
*************************** 1. row ***************************
a: 1

Test  'go' command g
a
1
drop table t1;
+34 −0
Original line number Diff line number Diff line
#
# 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 < "./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;
+48 −0
Original line number Diff line number Diff line

# Test default delimiter ;
select "Test default delimiter ;" as " ";
select * from t1;

# Test delimiter without argument
select "Test delimiter without arg" as " ";
# Nothing should be displayed, error is returned
delimiter
delimiter ; # Reset delimiter

# Test delimiter :
select "Test delimiter :" as " ";
delimiter :
select * from t1:
delimiter ; # Reset delimiter

# Test delimiter ':'
select "Test delimiter :" as " ";
delimiter ':'
select * from t1:
delimiter ; # Reset delimiter

# Test delimiter :;
select "Test delimiter :;" as " ";
delimiter :;
select * from t1 :;
delimiter ; # Reset delimiter

## Test delimiter //
select "Test delimiter //" as " ";
delimiter //
select * from t1//
delimiter ; # Reset delimiter

# Test delimiter 'MySQL'
select "Test delimiter MySQL" as " ";
delimiter 'MySQL'
select * from t1MySQL
delimiter ; # Reset delimiter

# Test delimiter 'delimiter'(should be allowed according to the code)
select "Test delimiter delimiter" as " ";
delimiter delimiter
select * from t1 delimiter
delimiter ; # Reset delimiter