mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
upmerge 56125,56921
This commit is contained in:
@@ -112,6 +112,7 @@ static my_bool parsing_disabled= 0;
|
|||||||
static my_bool display_result_vertically= FALSE, display_result_lower= FALSE,
|
static my_bool display_result_vertically= FALSE, display_result_lower= FALSE,
|
||||||
display_metadata= FALSE, display_result_sorted= FALSE;
|
display_metadata= FALSE, display_result_sorted= FALSE;
|
||||||
static my_bool disable_query_log= 0, disable_result_log= 0;
|
static my_bool disable_query_log= 0, disable_result_log= 0;
|
||||||
|
static my_bool disable_connect_log= 1;
|
||||||
static my_bool disable_warnings= 0;
|
static my_bool disable_warnings= 0;
|
||||||
static my_bool disable_info= 1;
|
static my_bool disable_info= 1;
|
||||||
static my_bool abort_on_error= 1;
|
static my_bool abort_on_error= 1;
|
||||||
@@ -285,6 +286,7 @@ enum enum_commands {
|
|||||||
Q_EVAL_RESULT,
|
Q_EVAL_RESULT,
|
||||||
Q_ENABLE_QUERY_LOG, Q_DISABLE_QUERY_LOG,
|
Q_ENABLE_QUERY_LOG, Q_DISABLE_QUERY_LOG,
|
||||||
Q_ENABLE_RESULT_LOG, Q_DISABLE_RESULT_LOG,
|
Q_ENABLE_RESULT_LOG, Q_DISABLE_RESULT_LOG,
|
||||||
|
Q_ENABLE_CONNECT_LOG, Q_DISABLE_CONNECT_LOG,
|
||||||
Q_WAIT_FOR_SLAVE_TO_STOP,
|
Q_WAIT_FOR_SLAVE_TO_STOP,
|
||||||
Q_ENABLE_WARNINGS, Q_DISABLE_WARNINGS,
|
Q_ENABLE_WARNINGS, Q_DISABLE_WARNINGS,
|
||||||
Q_ENABLE_INFO, Q_DISABLE_INFO,
|
Q_ENABLE_INFO, Q_DISABLE_INFO,
|
||||||
@@ -350,6 +352,8 @@ const char *command_names[]=
|
|||||||
/* Enable/disable that the _result_ from a query is logged to result file */
|
/* Enable/disable that the _result_ from a query is logged to result file */
|
||||||
"enable_result_log",
|
"enable_result_log",
|
||||||
"disable_result_log",
|
"disable_result_log",
|
||||||
|
"enable_connect_log",
|
||||||
|
"disable_connect_log",
|
||||||
"wait_for_slave_to_stop",
|
"wait_for_slave_to_stop",
|
||||||
"enable_warnings",
|
"enable_warnings",
|
||||||
"disable_warnings",
|
"disable_warnings",
|
||||||
@@ -4836,6 +4840,16 @@ void select_connection_name(const char *name)
|
|||||||
|
|
||||||
set_current_connection(con);
|
set_current_connection(con);
|
||||||
|
|
||||||
|
/* Connection logging if enabled */
|
||||||
|
if (!disable_connect_log && !disable_query_log)
|
||||||
|
{
|
||||||
|
DYNAMIC_STRING *ds= &ds_res;
|
||||||
|
|
||||||
|
dynstr_append_mem(ds, "connection ", 11);
|
||||||
|
replace_dynstr_append(ds, name);
|
||||||
|
dynstr_append_mem(ds, ";\n", 2);
|
||||||
|
}
|
||||||
|
|
||||||
DBUG_VOID_RETURN;
|
DBUG_VOID_RETURN;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4923,6 +4937,16 @@ void do_close_connection(struct st_command *command)
|
|||||||
var_set_string("$CURRENT_CONNECTION", con->name);
|
var_set_string("$CURRENT_CONNECTION", con->name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Connection logging if enabled */
|
||||||
|
if (!disable_connect_log && !disable_query_log)
|
||||||
|
{
|
||||||
|
DYNAMIC_STRING *ds= &ds_res;
|
||||||
|
|
||||||
|
dynstr_append_mem(ds, "disconnect ", 11);
|
||||||
|
replace_dynstr_append(ds, ds_connection.str);
|
||||||
|
dynstr_append_mem(ds, ";\n", 2);
|
||||||
|
}
|
||||||
|
|
||||||
DBUG_VOID_RETURN;
|
DBUG_VOID_RETURN;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5057,6 +5081,13 @@ int connect_n_handle_errors(struct st_command *command,
|
|||||||
dynstr_append_mem(ds, delimiter, delimiter_length);
|
dynstr_append_mem(ds, delimiter, delimiter_length);
|
||||||
dynstr_append_mem(ds, "\n", 1);
|
dynstr_append_mem(ds, "\n", 1);
|
||||||
}
|
}
|
||||||
|
/* Simlified logging if enabled */
|
||||||
|
if (!disable_connect_log && !disable_query_log)
|
||||||
|
{
|
||||||
|
replace_dynstr_append(ds, command->query);
|
||||||
|
dynstr_append_mem(ds, ";\n", 2);
|
||||||
|
}
|
||||||
|
|
||||||
while (!mysql_real_connect(con, host, user, pass, db, port, sock ? sock: 0,
|
while (!mysql_real_connect(con, host, user, pass, db, port, sock ? sock: 0,
|
||||||
CLIENT_MULTI_STATEMENTS))
|
CLIENT_MULTI_STATEMENTS))
|
||||||
{
|
{
|
||||||
@@ -8127,6 +8158,8 @@ int main(int argc, char **argv)
|
|||||||
case Q_DISABLE_ABORT_ON_ERROR: abort_on_error=0; break;
|
case Q_DISABLE_ABORT_ON_ERROR: abort_on_error=0; break;
|
||||||
case Q_ENABLE_RESULT_LOG: disable_result_log=0; break;
|
case Q_ENABLE_RESULT_LOG: disable_result_log=0; break;
|
||||||
case Q_DISABLE_RESULT_LOG: disable_result_log=1; break;
|
case Q_DISABLE_RESULT_LOG: disable_result_log=1; break;
|
||||||
|
case Q_ENABLE_CONNECT_LOG: disable_connect_log=0; break;
|
||||||
|
case Q_DISABLE_CONNECT_LOG: disable_connect_log=1; break;
|
||||||
case Q_ENABLE_WARNINGS: disable_warnings=0; break;
|
case Q_ENABLE_WARNINGS: disable_warnings=0; break;
|
||||||
case Q_DISABLE_WARNINGS: disable_warnings=1; break;
|
case Q_DISABLE_WARNINGS: disable_warnings=1; break;
|
||||||
case Q_ENABLE_INFO: disable_info=0; break;
|
case Q_ENABLE_INFO: disable_info=0; break;
|
||||||
|
@@ -126,12 +126,24 @@ my $path_vardir_trace; # unix formatted opt_vardir for trace files
|
|||||||
my $opt_tmpdir; # Path to use for tmp/ dir
|
my $opt_tmpdir; # Path to use for tmp/ dir
|
||||||
my $opt_tmpdir_pid;
|
my $opt_tmpdir_pid;
|
||||||
|
|
||||||
|
my $opt_start;
|
||||||
|
my $opt_start_dirty;
|
||||||
|
my $opt_start_exit;
|
||||||
|
my $start_only;
|
||||||
|
|
||||||
END {
|
END {
|
||||||
if ( defined $opt_tmpdir_pid and $opt_tmpdir_pid == $$ )
|
if ( defined $opt_tmpdir_pid and $opt_tmpdir_pid == $$ )
|
||||||
{
|
{
|
||||||
# Remove the tempdir this process has created
|
if (!$opt_start_exit)
|
||||||
mtr_verbose("Removing tmpdir '$opt_tmpdir");
|
{
|
||||||
rmtree($opt_tmpdir);
|
# Remove the tempdir this process has created
|
||||||
|
mtr_verbose("Removing tmpdir $opt_tmpdir");
|
||||||
|
rmtree($opt_tmpdir);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
mtr_warning("tmpdir $opt_tmpdir should be removed after the server has finished");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -234,10 +246,6 @@ my $opt_start_timeout = $ENV{MTR_START_TIMEOUT} || 180; # seconds
|
|||||||
sub suite_timeout { return $opt_suite_timeout * 60; };
|
sub suite_timeout { return $opt_suite_timeout * 60; };
|
||||||
sub check_timeout { return $opt_testcase_timeout * 6; };
|
sub check_timeout { return $opt_testcase_timeout * 6; };
|
||||||
|
|
||||||
my $opt_start;
|
|
||||||
my $opt_start_dirty;
|
|
||||||
my $opt_start_exit;
|
|
||||||
my $start_only;
|
|
||||||
my $opt_wait_all;
|
my $opt_wait_all;
|
||||||
my $opt_user_args;
|
my $opt_user_args;
|
||||||
my $opt_repeat= 1;
|
my $opt_repeat= 1;
|
||||||
|
@@ -453,12 +453,16 @@ mysqltest: At line 1: Missing required argument 'host' to command 'connect'
|
|||||||
mysqltest: At line 1: query 'connect con2,localhost,root,,illegal_db' failed: 1049: Unknown database 'illegal_db'
|
mysqltest: At line 1: query 'connect con2,localhost,root,,illegal_db' failed: 1049: Unknown database 'illegal_db'
|
||||||
mysqltest: At line 1: Illegal argument for port: 'illegal_port'
|
mysqltest: At line 1: Illegal argument for port: 'illegal_port'
|
||||||
mysqltest: At line 1: Illegal option to connect: SMTP
|
mysqltest: At line 1: Illegal option to connect: SMTP
|
||||||
OK
|
200 connects succeeded
|
||||||
mysqltest: The test didn't produce any output
|
|
||||||
mysqltest: In included file "MYSQLTEST_VARDIR/tmp/mysqltest.sql": At line 3: connection 'test_con1' not found in connection pool
|
mysqltest: In included file "MYSQLTEST_VARDIR/tmp/mysqltest.sql": At line 3: connection 'test_con1' not found in connection pool
|
||||||
mysqltest: In included file "MYSQLTEST_VARDIR/tmp/mysqltest.sql": At line 2: Connection test_con1 already exists
|
mysqltest: In included file "MYSQLTEST_VARDIR/tmp/mysqltest.sql": At line 2: Connection test_con1 already exists
|
||||||
show tables;
|
show tables;
|
||||||
ERROR 3D000: No database selected
|
ERROR 3D000: No database selected
|
||||||
|
connect con1,localhost,root,,;
|
||||||
|
connection default;
|
||||||
|
connection con1;
|
||||||
|
disconnect con1;
|
||||||
|
connection default;
|
||||||
Output from mysqltest-x.inc
|
Output from mysqltest-x.inc
|
||||||
Output from mysqltest-x.inc
|
Output from mysqltest-x.inc
|
||||||
Output from mysqltest-x.inc
|
Output from mysqltest-x.inc
|
||||||
|
@@ -1468,19 +1468,6 @@ eval select "$long_rep" as x;
|
|||||||
--error 1
|
--error 1
|
||||||
--exec echo "connect (con1,localhost,root,,,,,SMTP POP);" | $MYSQL_TEST 2>&1
|
--exec echo "connect (con1,localhost,root,,,,,SMTP POP);" | $MYSQL_TEST 2>&1
|
||||||
|
|
||||||
# Repeat connect/disconnect
|
|
||||||
--write_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql
|
|
||||||
let $i=100;
|
|
||||||
while ($i)
|
|
||||||
{
|
|
||||||
connect (test_con1,localhost,root,,);
|
|
||||||
disconnect test_con1;
|
|
||||||
dec $i;
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
--exec echo "source $MYSQLTEST_VARDIR/tmp/mysqltest.sql; echo OK; exit;" | $MYSQL_TEST 2>&1
|
|
||||||
remove_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql;
|
|
||||||
|
|
||||||
# Repeat connect/disconnect
|
# Repeat connect/disconnect
|
||||||
--write_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql
|
--write_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql
|
||||||
let $i=200;
|
let $i=200;
|
||||||
@@ -1490,9 +1477,8 @@ while ($i)
|
|||||||
disconnect test_con1;
|
disconnect test_con1;
|
||||||
dec $i;
|
dec $i;
|
||||||
}
|
}
|
||||||
|
echo 200 connects succeeded;
|
||||||
EOF
|
EOF
|
||||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
|
||||||
--error 1
|
|
||||||
--exec echo "source $MYSQLTEST_VARDIR/tmp/mysqltest.sql;" | $MYSQL_TEST 2>&1
|
--exec echo "source $MYSQLTEST_VARDIR/tmp/mysqltest.sql;" | $MYSQL_TEST 2>&1
|
||||||
remove_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql;
|
remove_file $MYSQLTEST_VARDIR/tmp/mysqltest.sql;
|
||||||
|
|
||||||
@@ -1533,6 +1519,22 @@ show tables;
|
|||||||
disconnect con2;
|
disconnect con2;
|
||||||
connection default;
|
connection default;
|
||||||
|
|
||||||
|
# Test enable_connect_log
|
||||||
|
--enable_connect_log
|
||||||
|
connect (con1,localhost,root,,);
|
||||||
|
connection default;
|
||||||
|
connection con1;
|
||||||
|
--disable_query_log
|
||||||
|
# These should not be logged
|
||||||
|
connect (con2,localhost,root,,*NO-ONE*);
|
||||||
|
connection con2;
|
||||||
|
disconnect con2;
|
||||||
|
connection con1;
|
||||||
|
--enable_query_log
|
||||||
|
disconnect con1;
|
||||||
|
connection default;
|
||||||
|
--disable_connect_log
|
||||||
|
|
||||||
# ----------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------
|
||||||
# Test mysqltest arguments
|
# Test mysqltest arguments
|
||||||
# ----------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------
|
||||||
|
Reference in New Issue
Block a user