summaryrefslogtreecommitdiff
path: root/client/mysqltest.cc
diff options
context:
space:
mode:
authorSergey Petrunya <psergey@askmonty.org>2012-06-20 15:01:28 +0400
committerSergey Petrunya <psergey@askmonty.org>2012-06-20 15:01:28 +0400
commit8c762965d389dcd9e74c743aaf2a89bd8c18545f (patch)
treea266816b7b2a7e5f2266fa46b7b8627aa5543773 /client/mysqltest.cc
parent0b93b444b6c4de6b219fd3a4b3d5fa2e388dc211 (diff)
parent584d923c3292395a2e8288adcf4795992789f27c (diff)
downloadmariadb-git-8c762965d389dcd9e74c743aaf2a89bd8c18545f.tar.gz
Merge 5.3 -> 5.5
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 b93c9426deb..01613223d64 100644
--- a/client/mysqltest.cc
+++ b/client/mysqltest.cc
@@ -9012,8 +9012,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
@@ -9024,8 +9028,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--)
{