mirror of
https://github.com/MariaDB/server.git
synced 2025-02-01 03:21:53 +01:00
Merge paul@bk-internal.mysql.com:/home/bk/mysql-5.0
into snake-hub.snake.net:/src/extern/MySQL/bk/mysql-5.0
This commit is contained in:
commit
774b9cb56a
5 changed files with 34 additions and 26 deletions
|
@ -115,8 +115,8 @@ enum {OPT_MANAGER_USER=256,OPT_MANAGER_HOST,OPT_MANAGER_PASSWD,
|
||||||
The list of error codes to --error are stored in an internal array of
|
The list of error codes to --error are stored in an internal array of
|
||||||
structs. This struct can hold numeric SQL error codes or SQLSTATE codes
|
structs. This struct can hold numeric SQL error codes or SQLSTATE codes
|
||||||
as strings. The element next to the last active element in the list is
|
as strings. The element next to the last active element in the list is
|
||||||
set to type ERR_EMPTY. When an SQL statement return an error we use
|
set to type ERR_EMPTY. When an SQL statement returns an error, we use
|
||||||
this list to check if this is an expected error.
|
this list to check if this is an expected error.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
enum match_err_type
|
enum match_err_type
|
||||||
|
@ -345,13 +345,6 @@ const char *command_names[]=
|
||||||
"connection",
|
"connection",
|
||||||
"query",
|
"query",
|
||||||
"connect",
|
"connect",
|
||||||
/* the difference between sleep and real_sleep is that sleep will use
|
|
||||||
the delay from command line (--sleep) if there is one.
|
|
||||||
real_sleep always uses delay from mysqltest's command line argument.
|
|
||||||
the logic is that sometimes delays are cpu-dependent (and --sleep
|
|
||||||
can be used to set this delay. real_sleep is used for cpu-independent
|
|
||||||
delays
|
|
||||||
*/
|
|
||||||
"sleep",
|
"sleep",
|
||||||
"real_sleep",
|
"real_sleep",
|
||||||
"inc",
|
"inc",
|
||||||
|
@ -1045,8 +1038,8 @@ int do_source(struct st_query *query)
|
||||||
*p++= 0;
|
*p++= 0;
|
||||||
query->last_argument= p;
|
query->last_argument= p;
|
||||||
/*
|
/*
|
||||||
If this file has already been sourced, dont source it again.
|
If this file has already been sourced, don't source it again.
|
||||||
It's already available in the q_lines cache
|
It's already available in the q_lines cache.
|
||||||
*/
|
*/
|
||||||
if (parser.current_line < (parser.read_lines - 1))
|
if (parser.current_line < (parser.read_lines - 1))
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -1370,7 +1363,7 @@ int do_modify_var(struct st_query *query, const char *name,
|
||||||
system <command>
|
system <command>
|
||||||
|
|
||||||
Eval the query to expand any $variables in the command.
|
Eval the query to expand any $variables in the command.
|
||||||
Execute the command withe the "system" command.
|
Execute the command with the "system" command.
|
||||||
|
|
||||||
NOTE
|
NOTE
|
||||||
If mysqltest is executed from cygwin shell, the command will be
|
If mysqltest is executed from cygwin shell, the command will be
|
||||||
|
@ -1633,11 +1626,19 @@ int do_disable_rpl_parse(struct st_query *query __attribute__((unused)))
|
||||||
do_sleep()
|
do_sleep()
|
||||||
q called command
|
q called command
|
||||||
real_sleep use the value from opt_sleep as number of seconds to sleep
|
real_sleep use the value from opt_sleep as number of seconds to sleep
|
||||||
|
if real_sleep is false
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
sleep <seconds>
|
sleep <seconds>
|
||||||
real_sleep
|
real_sleep <seconds>
|
||||||
|
|
||||||
|
The difference between the sleep and real_sleep commands is that sleep
|
||||||
|
uses the delay from the --sleep command-line option if there is one.
|
||||||
|
(If the --sleep option is not given, the sleep command uses the delay
|
||||||
|
specified by its argument.) The real_sleep command always uses the
|
||||||
|
delay specified by its argument. The logic is that sometimes delays are
|
||||||
|
cpu-dependent, and --sleep can be used to set this delay. real_sleep is
|
||||||
|
used for cpu-independent delays.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int do_sleep(struct st_query *query, my_bool real_sleep)
|
int do_sleep(struct st_query *query, my_bool real_sleep)
|
||||||
|
@ -1646,18 +1647,19 @@ int do_sleep(struct st_query *query, my_bool real_sleep)
|
||||||
char *p= query->first_argument;
|
char *p= query->first_argument;
|
||||||
char *sleep_start, *sleep_end= query->end;
|
char *sleep_start, *sleep_end= query->end;
|
||||||
double sleep_val;
|
double sleep_val;
|
||||||
|
char *cmd = (real_sleep ? "real_sleep" : "sleep");
|
||||||
|
|
||||||
while (my_isspace(charset_info, *p))
|
while (my_isspace(charset_info, *p))
|
||||||
p++;
|
p++;
|
||||||
if (!*p)
|
if (!*p)
|
||||||
die("Missing argument to sleep");
|
die("Missing argument to %s", cmd);
|
||||||
sleep_start= p;
|
sleep_start= p;
|
||||||
/* Check that arg starts with a digit, not handled by my_strtod */
|
/* Check that arg starts with a digit, not handled by my_strtod */
|
||||||
if (!my_isdigit(charset_info, *sleep_start))
|
if (!my_isdigit(charset_info, *sleep_start))
|
||||||
die("Invalid argument to sleep \"%s\"", query->first_argument);
|
die("Invalid argument to %s \"%s\"", cmd, query->first_argument);
|
||||||
sleep_val= my_strtod(sleep_start, &sleep_end, &error);
|
sleep_val= my_strtod(sleep_start, &sleep_end, &error);
|
||||||
if (error)
|
if (error)
|
||||||
die("Invalid argument to sleep \"%s\"", query->first_argument);
|
die("Invalid argument to %s \"%s\"", cmd, query->first_argument);
|
||||||
|
|
||||||
/* Fixed sleep time selected by --sleep option */
|
/* Fixed sleep time selected by --sleep option */
|
||||||
if (opt_sleep && !real_sleep)
|
if (opt_sleep && !real_sleep)
|
||||||
|
@ -2099,7 +2101,7 @@ int safe_connect(MYSQL* mysql, const char *host, const char *user,
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Connect to a server and handle connection errors in case when they occur.
|
Connect to a server and handle connection errors in case they occur.
|
||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
connect_n_handle_errors()
|
connect_n_handle_errors()
|
||||||
|
@ -2534,7 +2536,7 @@ my_bool end_of_query(int c)
|
||||||
Normally that means it will read lines until it reaches the
|
Normally that means it will read lines until it reaches the
|
||||||
"delimiter" that marks end of query. Default delimiter is ';'
|
"delimiter" that marks end of query. Default delimiter is ';'
|
||||||
The function should be smart enough not to detect delimiter's
|
The function should be smart enough not to detect delimiter's
|
||||||
found inside strings sorrounded with '"' and '\'' escaped strings.
|
found inside strings surrounded with '"' and '\'' escaped strings.
|
||||||
|
|
||||||
If the first line in a query starts with '#' or '-' this line is treated
|
If the first line in a query starts with '#' or '-' this line is treated
|
||||||
as a comment. A comment is always terminated when end of line '\n' is
|
as a comment. A comment is always terminated when end of line '\n' is
|
||||||
|
@ -2819,7 +2821,7 @@ static struct my_option my_long_options[] =
|
||||||
{"compress", 'C', "Use the compressed server/client protocol.",
|
{"compress", 'C', "Use the compressed server/client protocol.",
|
||||||
(gptr*) &opt_compress, (gptr*) &opt_compress, 0, GET_BOOL, NO_ARG, 0, 0, 0,
|
(gptr*) &opt_compress, (gptr*) &opt_compress, 0, GET_BOOL, NO_ARG, 0, 0, 0,
|
||||||
0, 0, 0},
|
0, 0, 0},
|
||||||
{"cursor-protocol", OPT_CURSOR_PROTOCOL, "Use cursors for prepared statment",
|
{"cursor-protocol", OPT_CURSOR_PROTOCOL, "Use cursors for prepared statements.",
|
||||||
(gptr*) &cursor_protocol, (gptr*) &cursor_protocol, 0,
|
(gptr*) &cursor_protocol, (gptr*) &cursor_protocol, 0,
|
||||||
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"database", 'D', "Database to use.", (gptr*) &db, (gptr*) &db, 0,
|
{"database", 'D', "Database to use.", (gptr*) &db, (gptr*) &db, 0,
|
||||||
|
@ -2861,7 +2863,7 @@ static struct my_option my_long_options[] =
|
||||||
{"result-file", 'R', "Read/Store result from/in this file.",
|
{"result-file", 'R', "Read/Store result from/in this file.",
|
||||||
(gptr*) &result_file, (gptr*) &result_file, 0, GET_STR, REQUIRED_ARG,
|
(gptr*) &result_file, (gptr*) &result_file, 0, GET_STR, REQUIRED_ARG,
|
||||||
0, 0, 0, 0, 0, 0},
|
0, 0, 0, 0, 0, 0},
|
||||||
{"server-arg", 'A', "Send enbedded server this as a paramenter.",
|
{"server-arg", 'A', "Send option value to embedded server as a parameter.",
|
||||||
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"server-file", 'F', "Read embedded server arguments from file.",
|
{"server-file", 'F', "Read embedded server arguments from file.",
|
||||||
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
|
@ -4315,7 +4317,7 @@ void get_query_type(struct st_query* q)
|
||||||
q->type=(enum enum_commands) type; /* Found command */
|
q->type=(enum enum_commands) type; /* Found command */
|
||||||
/*
|
/*
|
||||||
If queries are disabled, only recognize
|
If queries are disabled, only recognize
|
||||||
--enable-queries and --disable-queries
|
--enable_parsing and --disable_parsing
|
||||||
*/
|
*/
|
||||||
if (parsing_disabled && q->type != Q_ENABLE_PARSING &&
|
if (parsing_disabled && q->type != Q_ENABLE_PARSING &&
|
||||||
q->type != Q_DISABLE_PARSING)
|
q->type != Q_DISABLE_PARSING)
|
||||||
|
@ -4813,8 +4815,8 @@ int main(int argc, char **argv)
|
||||||
/*
|
/*
|
||||||
my_stat() successful on result file. Check if we have not run a
|
my_stat() successful on result file. Check if we have not run a
|
||||||
single query, but we do have a result file that contains data.
|
single query, but we do have a result file that contains data.
|
||||||
Note that we don't care, if my_stat() fails. For example for
|
Note that we don't care, if my_stat() fails. For example, for a
|
||||||
non-existing or non-readable file we assume it's fine to have
|
non-existing or non-readable file, we assume it's fine to have
|
||||||
no query output from the test file, e.g. regarded as no error.
|
no query output from the test file, e.g. regarded as no error.
|
||||||
*/
|
*/
|
||||||
die("No queries executed but result file found!");
|
die("No queries executed but result file found!");
|
||||||
|
|
|
@ -21,7 +21,7 @@ conflict with it.
|
||||||
All tests must pass. If one or more of them fail on your system, please
|
All tests must pass. If one or more of them fail on your system, please
|
||||||
read the following manual section of how to report the problem:
|
read the following manual section of how to report the problem:
|
||||||
|
|
||||||
http://dev.mysql.com/doc/mysql/en/MySQL_test_suite.html
|
http://dev.mysql.com/doc/mysql/en/mysql-test-suite.html
|
||||||
|
|
||||||
|
|
||||||
You can create your own test cases. To create a test case:
|
You can create your own test cases. To create a test case:
|
||||||
|
|
|
@ -894,7 +894,7 @@ show_failed_diff ()
|
||||||
$DIFF -c $result_file $reject_file
|
$DIFF -c $result_file $reject_file
|
||||||
echo "-------------------------------------------------------"
|
echo "-------------------------------------------------------"
|
||||||
echo "Please follow the instructions outlined at"
|
echo "Please follow the instructions outlined at"
|
||||||
echo "http://www.mysql.com/doc/en/Reporting_mysqltest_bugs.html"
|
echo "http://dev.mysql.com/doc/mysql/en/reporting-mysqltest-bugs.html"
|
||||||
echo "to find the reason to this problem and how to report this."
|
echo "to find the reason to this problem and how to report this."
|
||||||
echo ""
|
echo ""
|
||||||
fi
|
fi
|
||||||
|
@ -990,7 +990,7 @@ report_stats () {
|
||||||
$ECHO "The log files in $MY_LOG_DIR may give you some hint"
|
$ECHO "The log files in $MY_LOG_DIR may give you some hint"
|
||||||
$ECHO "of what went wrong."
|
$ECHO "of what went wrong."
|
||||||
$ECHO "If you want to report this error, please read first the documentation at"
|
$ECHO "If you want to report this error, please read first the documentation at"
|
||||||
$ECHO "http://www.mysql.com/doc/en/MySQL_test_suite.html"
|
$ECHO "http://dev.mysql.com/doc/mysql/en/mysql-test-suite.html"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $USE_RUNNING_SERVER -eq 0 ]
|
if [ $USE_RUNNING_SERVER -eq 0 ]
|
||||||
|
|
|
@ -297,7 +297,9 @@ here is the sourced script
|
||||||
In loop
|
In loop
|
||||||
here is the sourced script
|
here is the sourced script
|
||||||
mysqltest: At line 1: Missing argument to sleep
|
mysqltest: At line 1: Missing argument to sleep
|
||||||
|
mysqltest: At line 1: Missing argument to real_sleep
|
||||||
mysqltest: At line 1: Invalid argument to sleep "abc"
|
mysqltest: At line 1: Invalid argument to sleep "abc"
|
||||||
|
mysqltest: At line 1: Invalid argument to real_sleep "abc"
|
||||||
1
|
1
|
||||||
2
|
2
|
||||||
101
|
101
|
||||||
|
|
|
@ -667,10 +667,14 @@ real_sleep 1;
|
||||||
# Missing parameter
|
# Missing parameter
|
||||||
--error 1
|
--error 1
|
||||||
--exec echo "sleep ;" | $MYSQL_TEST 2>&1
|
--exec echo "sleep ;" | $MYSQL_TEST 2>&1
|
||||||
|
--error 1
|
||||||
|
--exec echo "real_sleep ;" | $MYSQL_TEST 2>&1
|
||||||
|
|
||||||
# Illegal parameter
|
# Illegal parameter
|
||||||
--error 1
|
--error 1
|
||||||
--exec echo "sleep abc;" | $MYSQL_TEST 2>&1
|
--exec echo "sleep abc;" | $MYSQL_TEST 2>&1
|
||||||
|
--error 1
|
||||||
|
--exec echo "real_sleep abc;" | $MYSQL_TEST 2>&1
|
||||||
|
|
||||||
# ----------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------
|
||||||
# Test inc
|
# Test inc
|
||||||
|
|
Loading…
Add table
Reference in a new issue