summaryrefslogtreecommitdiff
path: root/client/mysqltest.cc
diff options
context:
space:
mode:
authorSergei Golubchik <sergii@pisem.net>2012-06-01 23:45:54 +0200
committerSergei Golubchik <sergii@pisem.net>2012-06-01 23:45:54 +0200
commit41d860ef53e4461fa665da063fa34efb947ec4cd (patch)
tree31d488b5e5367a68fed44fd48582c2a53924e227 /client/mysqltest.cc
parentf45784c8503d0bbe77f3aec351fc87ff536b19be (diff)
parent34f2f8ea41726d98e50752ff3453ebde70912c35 (diff)
downloadmariadb-git-41d860ef53e4461fa665da063fa34efb947ec4cd.tar.gz
5.1 merge
Diffstat (limited to 'client/mysqltest.cc')
-rw-r--r--client/mysqltest.cc11
1 files changed, 7 insertions, 4 deletions
diff --git a/client/mysqltest.cc b/client/mysqltest.cc
index 6cf9918e829..00ed5f700b2 100644
--- a/client/mysqltest.cc
+++ b/client/mysqltest.cc
@@ -8330,8 +8330,12 @@ int main(int argc, char **argv)
command->abort_on_error= (command->expected_errors.count == 0 &&
abort_on_error);
- /* delimiter needs to be executed so we can continue to parse */
- ok_to_do= cur_block->ok || command->type == Q_DELIMITER;
+ /*
+ some commmands need to be executed or at least parsed unconditionally,
+ because they change the grammar.
+ */
+ ok_to_do= cur_block->ok || command->type == Q_DELIMITER
+ || command->type == Q_PERL;
/*
Some commands need to be "done" the first time if they may get
re-iterated over in a true context. This can only happen if there's
@@ -8342,8 +8346,7 @@ int main(int argc, char **argv)
if (command->type == Q_SOURCE ||
command->type == Q_ERROR ||
command->type == Q_WRITE_FILE ||
- command->type == Q_APPEND_FILE ||
- command->type == Q_PERL)
+ command->type == Q_APPEND_FILE)
{
for (struct st_block *stb= cur_block-1; stb >= block_stack; stb--)
{