summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--client/readline.cc3
-rw-r--r--mysql-test/r/mysql.result4
-rw-r--r--mysql-test/t/mysql_delimiter.sql9
-rwxr-xr-xmysql-test/t/mysql_delimiter_19799.sql1
4 files changed, 16 insertions, 1 deletions
diff --git a/client/readline.cc b/client/readline.cc
index 3d524633d69..52abe1045b7 100644
--- a/client/readline.cc
+++ b/client/readline.cc
@@ -51,7 +51,8 @@ char *batch_readline(LINE_BUFFER *line_buff)
if (!(pos=intern_read_line(line_buff,&out_length)))
return 0;
if (out_length && pos[out_length-1] == '\n')
- out_length--; /* Remove '\n' */
+ if (--out_length && pos[out_length-1] == '\r') /* Remove '\n' */
+ out_length--; /* Remove '\r' */
line_buff->read_length=out_length;
pos[out_length]=0;
return pos;
diff --git a/mysql-test/r/mysql.result b/mysql-test/r/mysql.result
index 14267afc27e..b76b2c1e3b7 100644
--- a/mysql-test/r/mysql.result
+++ b/mysql-test/r/mysql.result
@@ -36,6 +36,10 @@ Tables_in_test
t1
t2
t3
+Database
+information_schema
+mysql
+test
_
Test delimiter : from command line
a
diff --git a/mysql-test/t/mysql_delimiter.sql b/mysql-test/t/mysql_delimiter.sql
index fa80c980b29..67075091c01 100644
--- a/mysql-test/t/mysql_delimiter.sql
+++ b/mysql-test/t/mysql_delimiter.sql
@@ -49,3 +49,12 @@ delimiter ; # Reset delimiter
# Bug #11523: \d works differently than delimiter
#
source t/mysql_delimiter_source.sql
+delimiter ; # Reset delimiter
+
+#
+# Bug #19799: delimiter command not working correctly when sourcing a sql file
+# with Windows style line endings.
+#
+source t/mysql_delimiter_19799.sql
+show databases//
+delimiter ; # Reset delimiter
diff --git a/mysql-test/t/mysql_delimiter_19799.sql b/mysql-test/t/mysql_delimiter_19799.sql
new file mode 100755
index 00000000000..2a3d4378492
--- /dev/null
+++ b/mysql-test/t/mysql_delimiter_19799.sql
@@ -0,0 +1 @@
+delimiter //