diff options
author | Alexey Botchkov <holyfoot@mysql.com> | 2009-11-11 00:55:05 +0400 |
---|---|---|
committer | Alexey Botchkov <holyfoot@mysql.com> | 2009-11-11 00:55:05 +0400 |
commit | 6388a13230af3b9cfb59287a947f32b977d2538e (patch) | |
tree | 531a275f30bff91b601f33b8605494165e470847 /client | |
parent | 6590cb3bd6de1979d6db92d55db740c28cc1a068 (diff) | |
download | mariadb-git-6388a13230af3b9cfb59287a947f32b977d2538e.tar.gz |
Bug#42520 killing load .. infile Assertion failed: ! is_set(), file .\sql_error.cc, line 8
The additional patch. That 'loadxml.test' failure was actually about our testing system,
not the code.
Firstly we need a new mysqltest command, wich i called 'send_eval'. So the expression
can be evaluated, then started in a parallel thread. We only have separane 'send' and
'eval' commands at the moment.
Then we need to add the waiting code after the 'KILL' to our test, so the thread will be killed
before the test goes further. The present 'reap' command doesn't handle the killed threads
well.
per-file comments:
client/mysqltest.cc
Bug#42520 killing load .. infile Assertion failed: ! is_set(), file .\sql_error.cc, line 8
The 'send_eval' command implemented.
mysql-test/r/loadxml.result
Bug#42520 killing load .. infile Assertion failed: ! is_set(), file .\sql_error.cc, line 8
test result updated.
mysql-test/t/loadxml.test
Bug#42520 killing load .. infile Assertion failed: ! is_set(), file .\sql_error.cc, line 8
test case added.
Diffstat (limited to 'client')
-rw-r--r-- | client/mysqltest.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/client/mysqltest.cc b/client/mysqltest.cc index a20e078230b..4f42077a2f9 100644 --- a/client/mysqltest.cc +++ b/client/mysqltest.cc @@ -281,7 +281,7 @@ enum enum_commands { Q_SEND_QUIT, Q_CHANGE_USER, Q_MKDIR, Q_RMDIR, Q_LIST_FILES, Q_LIST_FILES_WRITE_FILE, Q_LIST_FILES_APPEND_FILE, Q_SEND_SHUTDOWN, Q_SHUTDOWN_SERVER, - Q_MOVE_FILE, + Q_MOVE_FILE, Q_SEND_EVAL, Q_UNKNOWN, /* Unknown command. */ Q_COMMENT, /* Comments, ignored. */ @@ -376,6 +376,7 @@ const char *command_names[]= "send_shutdown", "shutdown_server", "move_file", + "send_eval", 0 }; @@ -7006,7 +7007,7 @@ void run_query(struct st_connection *cn, struct st_command *command, int flags) /* Evaluate query if this is an eval command */ - if (command->type == Q_EVAL) + if (command->type == Q_EVAL || command->type == Q_SEND_EVAL) { init_dynamic_string(&eval_query, "", command->query_len+256, 1024); do_eval(&eval_query, command->query, command->end, FALSE); @@ -7825,6 +7826,7 @@ int main(int argc, char **argv) break; } case Q_SEND: + case Q_SEND_EVAL: if (!*command->first_argument) { /* |