summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjorn Munch <Bjorn.Munch@sun.com>2010-01-20 14:23:57 +0100
committerBjorn Munch <Bjorn.Munch@sun.com>2010-01-20 14:23:57 +0100
commit84616df3ffd514d85c5942c6db8729b8c466f39c (patch)
tree6d10b04e422cb63806e6a562aaba72fb8b83fb96
parent87ff57cb7eaefd87e54ec0cbf80f71af2167581a (diff)
parent5ae2eda776477494af7dfe2cad9d50bb4ad8d9eb (diff)
downloadmariadb-git-84616df3ffd514d85c5942c6db8729b8c466f39c.tar.gz
merge 49837
-rw-r--r--client/mysqltest.cc4
-rw-r--r--mysql-test/r/mysqltest.result6
-rw-r--r--mysql-test/t/mysqltest.test9
3 files changed, 19 insertions, 0 deletions
diff --git a/client/mysqltest.cc b/client/mysqltest.cc
index bafc5f6781d..12aff05eff5 100644
--- a/client/mysqltest.cc
+++ b/client/mysqltest.cc
@@ -2662,6 +2662,10 @@ void do_exec(struct st_command *command)
#endif
#endif
+ /* exec command is interpreted externally and will not take newlines */
+ while(replace(&ds_cmd, "\n", 1, " ", 1) == 0)
+ ;
+
DBUG_PRINT("info", ("Executing '%s' as '%s'",
command->first_argument, ds_cmd.str));
diff --git a/mysql-test/r/mysqltest.result b/mysql-test/r/mysqltest.result
index ae860e2a72c..7d2100c627a 100644
--- a/mysql-test/r/mysqltest.result
+++ b/mysql-test/r/mysqltest.result
@@ -216,6 +216,12 @@ source database
echo message echo message
mysqltest: At line 1: Missing argument in exec
+1
+1
+2
+2
+X
+3
MySQL
"MySQL"
MySQL: The
diff --git a/mysql-test/t/mysqltest.test b/mysql-test/t/mysqltest.test
index 3212c82bffd..748f31bb5a3 100644
--- a/mysql-test/t/mysqltest.test
+++ b/mysql-test/t/mysqltest.test
@@ -605,6 +605,15 @@ echo ;
--error 1
--exec echo "--exec " | $MYSQL_TEST 2>&1
+# Multi-line exec
+exec $MYSQL
+ test -e "select 1";
+exec $MYSQL test -e "select
+ 2";
+let $query = select 3
+ as X;
+exec $MYSQL test -e "$query";
+
# ----------------------------------------------------------------------------
# Test let command
# ----------------------------------------------------------------------------