summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <msvensson@neptunus.(none)>2005-05-17 21:14:01 +0200
committerunknown <msvensson@neptunus.(none)>2005-05-17 21:14:01 +0200
commitdf4d98902a2b0ccd89511221350a1d6072b6deb3 (patch)
treeda921d6542268a5a6d8ad3d68541b5cca8dc31d6
parentedcdc57bff956bccd085de326d200a698919ac5c (diff)
downloadmariadb-git-df4d98902a2b0ccd89511221350a1d6072b6deb3.tar.gz
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'
-rw-r--r--mysql-test/r/mysql.result50
-rw-r--r--mysql-test/t/mysql.test34
-rw-r--r--mysql-test/t/mysql_delimiter.sql48
3 files changed, 132 insertions, 0 deletions
diff --git a/mysql-test/r/mysql.result b/mysql-test/r/mysql.result
new file mode 100644
index 00000000000..feb0b2348cd
--- /dev/null
+++ b/mysql-test/r/mysql.result
@@ -0,0 +1,50 @@
+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;
diff --git a/mysql-test/t/mysql.test b/mysql-test/t/mysql.test
new file mode 100644
index 00000000000..d30e5b65d8e
--- /dev/null
+++ b/mysql-test/t/mysql.test
@@ -0,0 +1,34 @@
+#
+# 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;
diff --git a/mysql-test/t/mysql_delimiter.sql b/mysql-test/t/mysql_delimiter.sql
new file mode 100644
index 00000000000..4ea481a84e2
--- /dev/null
+++ b/mysql-test/t/mysql_delimiter.sql
@@ -0,0 +1,48 @@
+
+# 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
+
+