mirror of
https://github.com/MariaDB/server.git
synced 2025-05-28 13:01:41 +03:00
Merge bk-internal:/home/bk/mysql-5.0
into mysql.com:/home/jimw/my/mysql-5.0-clean
This commit is contained in:
commit
f8bfecdf2f
@ -333,6 +333,7 @@ our @data_dir_lst;
|
||||
sub main ();
|
||||
sub initial_setup ();
|
||||
sub command_line_setup ();
|
||||
sub snapshot_setup ();
|
||||
sub executable_setup ();
|
||||
sub environment_setup ();
|
||||
sub kill_running_server ();
|
||||
@ -343,7 +344,7 @@ sub ndbcluster_install ();
|
||||
sub ndbcluster_start ($);
|
||||
sub ndbcluster_stop ();
|
||||
sub run_benchmarks ($);
|
||||
sub run_tests ();
|
||||
sub initialize_servers ();
|
||||
sub mysql_install_db ();
|
||||
sub install_db ($$);
|
||||
sub run_testcase ($);
|
||||
@ -374,7 +375,7 @@ sub main () {
|
||||
command_line_setup();
|
||||
executable_setup();
|
||||
|
||||
check_ndbcluster_support();
|
||||
check_ndbcluster_support(); # We check whether to actually use it later
|
||||
check_ssl_support();
|
||||
|
||||
environment_setup();
|
||||
@ -390,49 +391,37 @@ sub main () {
|
||||
gprof_prepare();
|
||||
}
|
||||
|
||||
if ( ! $glob_use_running_server )
|
||||
{
|
||||
if ( $opt_start_dirty )
|
||||
{
|
||||
kill_running_server();
|
||||
}
|
||||
else
|
||||
{
|
||||
kill_and_cleanup();
|
||||
mysql_install_db();
|
||||
if ( $opt_force )
|
||||
{
|
||||
save_installed_db();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( $opt_start_dirty )
|
||||
{
|
||||
if ( ndbcluster_start($opt_with_ndbcluster) )
|
||||
{
|
||||
mtr_error("Can't start ndbcluster");
|
||||
}
|
||||
if ( mysqld_start('master',0,[],[],$using_ndbcluster_master) )
|
||||
{
|
||||
mtr_report("Servers started, exiting");
|
||||
}
|
||||
else
|
||||
{
|
||||
mtr_error("Can't start the mysqld server");
|
||||
}
|
||||
}
|
||||
elsif ( $opt_bench )
|
||||
if ( $opt_bench )
|
||||
{
|
||||
initialize_servers();
|
||||
run_benchmarks(shift); # Shift what? Extra arguments?!
|
||||
}
|
||||
elsif ( $opt_stress )
|
||||
{
|
||||
initialize_servers();
|
||||
run_stress_test()
|
||||
}
|
||||
else
|
||||
{
|
||||
run_tests();
|
||||
# Figure out which tests we are going to run
|
||||
my $tests= collect_test_cases($opt_suite);
|
||||
|
||||
# Turn off NDB and other similar options if no tests use it
|
||||
my ($need_ndbcluster,$need_im,$need_slave);
|
||||
foreach my $test (@$tests)
|
||||
{
|
||||
$need_ndbcluster||= $test->{ndb_test};
|
||||
$need_im||= $test->{component_id} eq 'im';
|
||||
$need_slave||= $test->{slave_num};
|
||||
}
|
||||
$opt_with_ndbcluster= 0 unless $need_ndbcluster;
|
||||
$opt_skip_im= 1 unless $need_im;
|
||||
$opt_skip_rpl= 1 unless $need_slave;
|
||||
|
||||
snapshot_setup();
|
||||
initialize_servers();
|
||||
|
||||
run_suite($opt_suite, $tests);
|
||||
}
|
||||
|
||||
mtr_exit(0);
|
||||
@ -983,20 +972,29 @@ sub command_line_setup () {
|
||||
$path_mysqltest_log= "$opt_vardir/log/mysqltest.log";
|
||||
|
||||
$path_snapshot= "$opt_tmpdir/snapshot_$opt_master_myport/";
|
||||
}
|
||||
|
||||
sub snapshot_setup () {
|
||||
|
||||
# Make a list of all data_dirs
|
||||
@data_dir_lst = (
|
||||
$master->[0]->{'path_myddir'},
|
||||
$master->[1]->{'path_myddir'},
|
||||
$slave->[0]->{'path_myddir'},
|
||||
$slave->[1]->{'path_myddir'},
|
||||
$slave->[2]->{'path_myddir'});
|
||||
$master->[1]->{'path_myddir'});
|
||||
|
||||
foreach my $instance (@{$instance_manager->{'instances'}})
|
||||
unless ($opt_skip_rpl)
|
||||
{
|
||||
push(@data_dir_lst, $instance->{'path_datadir'});
|
||||
push @data_dir_lst, ($slave->[0]->{'path_myddir'},
|
||||
$slave->[1]->{'path_myddir'},
|
||||
$slave->[2]->{'path_myddir'});
|
||||
}
|
||||
|
||||
unless ($opt_skip_im)
|
||||
{
|
||||
foreach my $instance (@{$instance_manager->{'instances'}})
|
||||
{
|
||||
push(@data_dir_lst, $instance->{'path_datadir'});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -1388,7 +1386,7 @@ sub check_ndbcluster_support () {
|
||||
|
||||
if ($opt_with_ndbcluster)
|
||||
{
|
||||
mtr_report("Using ndbcluster");
|
||||
mtr_report("Using ndbcluster if necessary");
|
||||
return;
|
||||
}
|
||||
|
||||
@ -1404,7 +1402,7 @@ sub check_ndbcluster_support () {
|
||||
$opt_with_ndbcluster= 0;
|
||||
return;
|
||||
}
|
||||
mtr_report("Using ndbcluster, mysqld supports it");
|
||||
mtr_report("Using ndbcluster if necessary, mysqld supports it");
|
||||
$opt_with_ndbcluster= 1;
|
||||
return;
|
||||
}
|
||||
@ -1562,12 +1560,9 @@ sub run_benchmarks ($) {
|
||||
|
||||
# FIXME how to specify several suites to run? Comma separated list?
|
||||
|
||||
sub run_tests () {
|
||||
run_suite($opt_suite);
|
||||
}
|
||||
|
||||
sub run_suite () {
|
||||
my $suite= shift;
|
||||
my ($suite, $tests)= @_;
|
||||
|
||||
mtr_print_thick_line();
|
||||
|
||||
@ -1575,8 +1570,6 @@ sub run_suite () {
|
||||
|
||||
mtr_timer_start($glob_timers,"suite", 60 * $opt_suite_timeout);
|
||||
|
||||
my $tests= collect_test_cases($suite);
|
||||
|
||||
mtr_report("Starting Tests in the '$suite' suite");
|
||||
|
||||
mtr_print_header();
|
||||
@ -1618,14 +1611,37 @@ sub run_suite () {
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
sub initialize_servers () {
|
||||
if ( ! $glob_use_running_server )
|
||||
{
|
||||
if ( $opt_start_dirty )
|
||||
{
|
||||
kill_running_server();
|
||||
}
|
||||
else
|
||||
{
|
||||
kill_and_cleanup();
|
||||
mysql_install_db();
|
||||
if ( $opt_force )
|
||||
{
|
||||
save_installed_db();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sub mysql_install_db () {
|
||||
|
||||
# FIXME not exactly true I think, needs improvements
|
||||
install_db('master', $master->[0]->{'path_myddir'});
|
||||
install_db('master', $master->[1]->{'path_myddir'});
|
||||
install_db('slave', $slave->[0]->{'path_myddir'});
|
||||
install_db('slave', $slave->[1]->{'path_myddir'});
|
||||
install_db('slave', $slave->[2]->{'path_myddir'});
|
||||
|
||||
if ( ! $opt_skip_rpl )
|
||||
{
|
||||
install_db('slave', $slave->[0]->{'path_myddir'});
|
||||
install_db('slave', $slave->[1]->{'path_myddir'});
|
||||
install_db('slave', $slave->[2]->{'path_myddir'});
|
||||
}
|
||||
|
||||
if ( ! $opt_skip_im )
|
||||
{
|
||||
@ -2028,10 +2044,11 @@ sub run_testcase ($) {
|
||||
}
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# If --start-and-exit given, stop here to let user manually run tests
|
||||
# If --start-and-exit or --start-dirty given, stop here to let user manually
|
||||
# run tests
|
||||
# ----------------------------------------------------------------------
|
||||
|
||||
if ( $opt_start_and_exit )
|
||||
if ( $opt_start_and_exit or $opt_start_dirty )
|
||||
{
|
||||
mtr_report("\nServers started, exiting");
|
||||
exit(0);
|
||||
@ -3410,11 +3427,12 @@ Misc options
|
||||
comment=STR Write STR to the output
|
||||
script-debug Debug this script itself
|
||||
timer Show test case execution time
|
||||
start-and-exit Only initiate and start the "mysqld" servers, use the startup
|
||||
settings for the specified test case if any
|
||||
start-dirty Only start the "mysqld" servers without initiation
|
||||
fast Don't try to cleanup from earlier runs
|
||||
reorder Reorder tests to get less server restarts
|
||||
start-and-exit Only initialize and start the servers, using the
|
||||
startup settings for the specified test case (if any)
|
||||
start-dirty Only start the servers (without initialization) for
|
||||
the specified test case (if any)
|
||||
fast Don't try to clean up from earlier runs
|
||||
reorder Reorder tests to get fewer server restarts
|
||||
help Get this help text
|
||||
unified-diff | udiff When presenting differences, use unified diff
|
||||
|
||||
|
@ -236,8 +236,8 @@ cat `find "$fs_ndb" -name 'ndb_*.pid'` > "$fs_ndb/$pidfile"
|
||||
|
||||
# test if Ndb Cluster starts properly
|
||||
|
||||
echo "Waiting for started..."
|
||||
if ( $exec_waiter ) | grep "NDBT_ProgramExit: 0 - OK"; then :; else
|
||||
echo "Waiting for NDB data nodes to start..."
|
||||
if ( $exec_waiter ) | grep -q "NDBT_ProgramExit: 0 - OK"; then :; else
|
||||
echo "Ndbcluster startup failed"
|
||||
stop_default_ndbcluster
|
||||
exit 1
|
||||
|
@ -275,7 +275,7 @@ ERROR HY000: Variable 'autocommit' is a SESSION variable and can't be used with
|
||||
select @@global.timestamp;
|
||||
ERROR HY000: Variable 'timestamp' is a SESSION variable
|
||||
set @@version='';
|
||||
ERROR HY000: Unknown system variable 'version'
|
||||
ERROR HY000: Variable 'version' is a read only variable
|
||||
set @@concurrent_insert=1;
|
||||
ERROR HY000: Variable 'concurrent_insert' is a GLOBAL variable and should be set with SET GLOBAL
|
||||
set @@global.sql_auto_is_null=1;
|
||||
@ -384,6 +384,7 @@ select @@sql_max_join_size,@@max_join_size;
|
||||
set sql_quote_show_create=1;
|
||||
set sql_safe_updates=1;
|
||||
set sql_select_limit=1;
|
||||
set sql_select_limit=default;
|
||||
set sql_warnings=1;
|
||||
set global table_cache=100;
|
||||
set storage_engine=myisam;
|
||||
@ -584,3 +585,31 @@ set @@global.character_set_filesystem=default;
|
||||
select @@global.character_set_filesystem;
|
||||
@@global.character_set_filesystem
|
||||
binary
|
||||
set @old_sql_big_selects = @@sql_big_selects;
|
||||
set @@sql_big_selects = 1;
|
||||
show variables like 'sql_big_selects';
|
||||
Variable_name Value
|
||||
sql_big_selects ON
|
||||
set @@sql_big_selects = @old_sql_big_selects;
|
||||
set @@sql_notes = 0, @@sql_warnings = 0;
|
||||
show variables like 'sql_notes';
|
||||
Variable_name Value
|
||||
sql_notes OFF
|
||||
show variables like 'sql_warnings';
|
||||
Variable_name Value
|
||||
sql_warnings OFF
|
||||
set @@sql_notes = 1, @@sql_warnings = 1;
|
||||
show variables like 'sql_notes';
|
||||
Variable_name Value
|
||||
sql_notes ON
|
||||
show variables like 'sql_warnings';
|
||||
Variable_name Value
|
||||
sql_warnings ON
|
||||
select @@system_time_zone;
|
||||
@@system_time_zone
|
||||
#
|
||||
select @@version, @@version_comment, @@version_compile_machine,
|
||||
@@version_compile_os;
|
||||
@@version @@version_comment @@version_compile_machine @@version_compile_os
|
||||
# # # #
|
||||
End of 5.0 tests
|
||||
|
@ -169,7 +169,7 @@ set collation_connection=NULL;
|
||||
set global autocommit=1;
|
||||
--error 1238
|
||||
select @@global.timestamp;
|
||||
--error 1193
|
||||
--error 1238
|
||||
set @@version='';
|
||||
--error 1229
|
||||
set @@concurrent_insert=1;
|
||||
@ -258,6 +258,8 @@ select @@sql_max_join_size,@@max_join_size;
|
||||
set sql_quote_show_create=1;
|
||||
set sql_safe_updates=1;
|
||||
set sql_select_limit=1;
|
||||
# reset it, so later tests don't get confused
|
||||
set sql_select_limit=default;
|
||||
set sql_warnings=1;
|
||||
set global table_cache=100;
|
||||
set storage_engine=myisam;
|
||||
@ -472,4 +474,38 @@ select @@character_set_filesystem;
|
||||
set @@global.character_set_filesystem=default;
|
||||
select @@global.character_set_filesystem;
|
||||
|
||||
# End of 5.0 tests
|
||||
#
|
||||
# Bug #17849: Show sql_big_selects in SHOW VARIABLES
|
||||
#
|
||||
set @old_sql_big_selects = @@sql_big_selects;
|
||||
set @@sql_big_selects = 1;
|
||||
show variables like 'sql_big_selects';
|
||||
set @@sql_big_selects = @old_sql_big_selects;
|
||||
|
||||
#
|
||||
# Bug #16195: SHOW VARIABLES doesn't report correctly sql_warnings and
|
||||
# sql_notes values
|
||||
#
|
||||
set @@sql_notes = 0, @@sql_warnings = 0;
|
||||
show variables like 'sql_notes';
|
||||
show variables like 'sql_warnings';
|
||||
set @@sql_notes = 1, @@sql_warnings = 1;
|
||||
show variables like 'sql_notes';
|
||||
show variables like 'sql_warnings';
|
||||
|
||||
#
|
||||
# Bug #12792: @@system_time_zone is not SELECTable.
|
||||
#
|
||||
# Don't actually output, since it depends on the system
|
||||
--replace_column 1 #
|
||||
select @@system_time_zone;
|
||||
|
||||
#
|
||||
# Bug #15684: system variables cannot be SELECTed (e.g. @@version_comment)
|
||||
#
|
||||
# Don't actually output, since it depends on the system
|
||||
--replace_column 1 # 2 # 3 # 4 #
|
||||
select @@version, @@version_comment, @@version_compile_machine,
|
||||
@@version_compile_os;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
@ -4558,12 +4558,6 @@ Item *get_system_var(THD *thd, enum_var_type var_type, LEX_STRING name,
|
||||
sys_var *var;
|
||||
LEX_STRING *base_name, *component_name;
|
||||
|
||||
if (component.str == 0 &&
|
||||
!my_strcasecmp(system_charset_info, name.str, "VERSION"))
|
||||
return new Item_string(NULL, server_version,
|
||||
(uint) strlen(server_version),
|
||||
system_charset_info, DERIVATION_SYSCONST);
|
||||
|
||||
if (component.str)
|
||||
{
|
||||
base_name= &component;
|
||||
|
@ -380,6 +380,8 @@ sys_var_thd_storage_engine sys_storage_engine("storage_engine",
|
||||
sys_var_sync_binlog_period sys_sync_binlog_period("sync_binlog", &sync_binlog_period);
|
||||
#endif
|
||||
sys_var_bool_ptr sys_sync_frm("sync_frm", &opt_sync_frm);
|
||||
sys_var_const_str sys_system_time_zone("system_time_zone",
|
||||
system_time_zone);
|
||||
sys_var_long_ptr sys_table_cache_size("table_cache",
|
||||
&table_cache_size);
|
||||
sys_var_long_ptr sys_table_lock_wait_timeout("table_lock_wait_timeout",
|
||||
@ -394,6 +396,16 @@ sys_var_thd_ulong sys_tmp_table_size("tmp_table_size",
|
||||
&SV::tmp_table_size);
|
||||
sys_var_bool_ptr sys_timed_mutexes("timed_mutexes",
|
||||
&timed_mutexes);
|
||||
sys_var_const_str sys_version("version", server_version);
|
||||
#ifdef HAVE_BERKELEY_DB
|
||||
sys_var_const_str sys_version_bdb("version_bdb", DB_VERSION_STRING);
|
||||
#endif
|
||||
sys_var_const_str sys_version_comment("version_comment",
|
||||
MYSQL_COMPILATION_COMMENT);
|
||||
sys_var_const_str sys_version_compile_machine("version_compile_machine",
|
||||
MACHINE_TYPE);
|
||||
sys_var_const_str sys_version_compile_os("version_compile_os",
|
||||
SYSTEM_TYPE);
|
||||
sys_var_thd_ulong sys_net_wait_timeout("wait_timeout",
|
||||
&SV::net_wait_timeout);
|
||||
|
||||
@ -549,7 +561,6 @@ sys_var_thd_time_zone sys_time_zone("time_zone");
|
||||
|
||||
/* Read only variables */
|
||||
|
||||
sys_var_const_str sys_os("version_compile_os", SYSTEM_TYPE);
|
||||
sys_var_readonly sys_have_innodb("have_innodb", OPT_GLOBAL,
|
||||
SHOW_CHAR, get_have_innodb);
|
||||
/* Global read-only variable describing server license */
|
||||
@ -704,6 +715,7 @@ sys_var *sys_variables[]=
|
||||
&sys_sync_binlog_period,
|
||||
#endif
|
||||
&sys_sync_frm,
|
||||
&sys_system_time_zone,
|
||||
&sys_table_cache_size,
|
||||
&sys_table_lock_wait_timeout,
|
||||
&sys_table_type,
|
||||
@ -716,7 +728,13 @@ sys_var *sys_variables[]=
|
||||
&sys_trans_alloc_block_size,
|
||||
&sys_trans_prealloc_size,
|
||||
&sys_tx_isolation,
|
||||
&sys_os,
|
||||
&sys_version,
|
||||
#ifdef HAVE_BERKELEY_DB
|
||||
&sys_version_bdb,
|
||||
#endif
|
||||
&sys_version_comment,
|
||||
&sys_version_compile_machine,
|
||||
&sys_version_compile_os,
|
||||
#ifdef HAVE_INNOBASE_DB
|
||||
&sys_innodb_fast_shutdown,
|
||||
&sys_innodb_max_dirty_pages_pct,
|
||||
@ -993,10 +1011,11 @@ struct show_var_st init_vars[]= {
|
||||
#ifdef HAVE_SYS_UN_H
|
||||
{"socket", (char*) &mysqld_unix_port, SHOW_CHAR_PTR},
|
||||
#endif
|
||||
{sys_sort_buffer.name, (char*) &sys_sort_buffer, SHOW_SYS},
|
||||
{sys_sort_buffer.name, (char*) &sys_sort_buffer, SHOW_SYS},
|
||||
{sys_big_selects.name, (char*) &sys_big_selects, SHOW_SYS},
|
||||
{sys_sql_mode.name, (char*) &sys_sql_mode, SHOW_SYS},
|
||||
{"sql_notes", (char*) &sys_sql_notes, SHOW_BOOL},
|
||||
{"sql_warnings", (char*) &sys_sql_warnings, SHOW_BOOL},
|
||||
{"sql_notes", (char*) &sys_sql_notes, SHOW_SYS},
|
||||
{"sql_warnings", (char*) &sys_sql_warnings, SHOW_SYS},
|
||||
{sys_storage_engine.name, (char*) &sys_storage_engine, SHOW_SYS},
|
||||
#ifdef HAVE_REPLICATION
|
||||
{sys_sync_binlog_period.name,(char*) &sys_sync_binlog_period, SHOW_SYS},
|
||||
@ -1024,13 +1043,14 @@ struct show_var_st init_vars[]= {
|
||||
{sys_tx_isolation.name, (char*) &sys_tx_isolation, SHOW_SYS},
|
||||
{sys_updatable_views_with_limit.name,
|
||||
(char*) &sys_updatable_views_with_limit,SHOW_SYS},
|
||||
{"version", server_version, SHOW_CHAR},
|
||||
{sys_version.name, (char*) &sys_version, SHOW_SYS},
|
||||
#ifdef HAVE_BERKELEY_DB
|
||||
{"version_bdb", (char*) DB_VERSION_STRING, SHOW_CHAR},
|
||||
{sys_version_bdb.name, (char*) &sys_version_bdb, SHOW_SYS},
|
||||
#endif
|
||||
{"version_comment", (char*) MYSQL_COMPILATION_COMMENT, SHOW_CHAR},
|
||||
{"version_compile_machine", (char*) MACHINE_TYPE, SHOW_CHAR},
|
||||
{sys_os.name, (char*) &sys_os, SHOW_SYS},
|
||||
{sys_version_comment.name, (char*) &sys_version_comment, SHOW_SYS},
|
||||
{sys_version_compile_machine.name, (char*) &sys_version_compile_machine,
|
||||
SHOW_SYS},
|
||||
{sys_version_compile_os.name, (char*) &sys_version_compile_os, SHOW_SYS},
|
||||
{sys_net_wait_timeout.name, (char*) &sys_net_wait_timeout, SHOW_SYS},
|
||||
{NullS, NullS, SHOW_LONG}
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user