summaryrefslogtreecommitdiff
path: root/client/mysqltest.c
diff options
context:
space:
mode:
Diffstat (limited to 'client/mysqltest.c')
-rw-r--r--client/mysqltest.c71
1 files changed, 46 insertions, 25 deletions
diff --git a/client/mysqltest.c b/client/mysqltest.c
index a50e8e4a14c..cc253e21be1 100644
--- a/client/mysqltest.c
+++ b/client/mysqltest.c
@@ -178,7 +178,7 @@ struct connection* cur_con, *next_con, *cons_end;
enum enum_commands {
Q_CONNECTION=1, Q_QUERY,
-Q_CONNECT, Q_SLEEP,
+Q_CONNECT, Q_SLEEP, Q_REAL_SLEEP,
Q_INC, Q_DEC,
Q_SOURCE, Q_DISCONNECT,
Q_LET, Q_ECHO,
@@ -213,25 +213,45 @@ struct st_query
enum enum_commands type;
};
-const char *command_names[] = {
- "connection", "query",
- "connect", "sleep",
- "inc", "dec",
- "source", "disconnect",
- "let", "echo",
- "while", "end",
- "system", "result",
- "require", "save_master_pos",
- "sync_with_master", "error",
- "send", "reap",
- "dirty_close", "replace_result",
- "ping", "eval",
- "rpl_probe", "enable_rpl_parse",
- "disable_rpl_parse", "eval_result",
- "enable_query_log", "disable_query_log",
- "enable_result_log", "disable_result_log",
- "server_start", "server_stop",
- "require_manager", "wait_for_slave_to_stop",
+const char *command_names[]=
+{
+ "connection",
+ "query",
+ "connect",
+ "sleep",
+ "real_sleep",
+ "inc",
+ "dec",
+ "source",
+ "disconnect",
+ "let",
+ "echo",
+ "while",
+ "end",
+ "system",
+ "result",
+ "require",
+ "save_master_pos",
+ "sync_with_master",
+ "error",
+ "send",
+ "reap",
+ "dirty_close",
+ "replace_result",
+ "ping",
+ "eval",
+ "rpl_probe",
+ "enable_rpl_parse",
+ "disable_rpl_parse",
+ "eval_result",
+ "enable_query_log",
+ "disable_query_log",
+ "enable_result_log",
+ "disable_result_log",
+ "server_start",
+ "server_stop",
+ "require_manager",
+ "wait_for_slave_to_stop",
"require_version",
0
};
@@ -973,7 +993,7 @@ int do_sync_with_master(struct st_query* q)
mysql_errno(mysql), mysql_error(mysql));
if (!(last_result = res = mysql_store_result(mysql)))
- die("line %u: mysql_store_result() retuned NULL", start_lineno);
+ die("line %u: mysql_store_result() returned NULL", start_lineno);
if (!(row = mysql_fetch_row(res)))
die("line %u: empty result in %s", start_lineno, query_buf);
if (!row[0])
@@ -1052,7 +1072,7 @@ int do_disable_rpl_parse(struct st_query* q __attribute__((unused)))
}
-int do_sleep(struct st_query* q)
+int do_sleep(struct st_query* q, my_bool real_sleep)
{
char* p=q->first_argument;
struct timeval t;
@@ -1064,7 +1084,7 @@ int do_sleep(struct st_query* q)
#ifdef OS2
- if (opt_sleep)
+ if (opt_sleep && !real_sleep)
DosSleep( opt_sleep * 1000);
else
DosSleep( atof( p) * 1000);
@@ -1072,7 +1092,7 @@ int do_sleep(struct st_query* q)
return 0;
#else
- if (opt_sleep)
+ if (opt_sleep && !real_sleep)
t.tv_sec = opt_sleep;
else
{
@@ -2394,7 +2414,8 @@ int main(int argc, char** argv)
case Q_ENABLE_RESULT_LOG: disable_result_log=0; break;
case Q_DISABLE_RESULT_LOG: disable_result_log=1; break;
case Q_SOURCE: do_source(q); break;
- case Q_SLEEP: do_sleep(q); break;
+ case Q_SLEEP: do_sleep(q, 0); break;
+ case Q_REAL_SLEEP: do_sleep(q, 1); break;
case Q_REQUIRE_VERSION: do_require_version(q); break;
case Q_WAIT_FOR_SLAVE_TO_STOP: do_wait_for_slave_to_stop(q); break;
case Q_REQUIRE_MANAGER: do_require_manager(q); break;