Loading mysql-test/mysql-test-run.pl +78 −60 Original line number Diff line number Diff line Loading @@ -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 (); Loading @@ -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 ($); Loading Loading @@ -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(); Loading @@ -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); Loading Loading @@ -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'}, $master->[1]->{'path_myddir'}); unless ($opt_skip_rpl) { 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'}); } } } Loading Loading @@ -1388,7 +1386,7 @@ sub check_ndbcluster_support () { if ($opt_with_ndbcluster) { mtr_report("Using ndbcluster"); mtr_report("Using ndbcluster if necessary"); return; } Loading @@ -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; } Loading Loading @@ -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(); Loading @@ -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(); Loading Loading @@ -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'}); 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 ) { Loading Loading @@ -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); Loading Loading @@ -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 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 less server restarts reorder Reorder tests to get fewer server restarts help Get this help text unified-diff | udiff When presenting differences, use unified diff Loading mysql-test/ndb/ndbcluster.sh +2 −2 Original line number Diff line number Diff line Loading @@ -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 Loading mysql-test/r/variables.result +30 −1 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading Loading @@ -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 mysql-test/t/variables.test +38 −2 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading Loading @@ -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 sql/item_func.cc +0 −6 Original line number Diff line number Diff line Loading @@ -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; Loading Loading
mysql-test/mysql-test-run.pl +78 −60 Original line number Diff line number Diff line Loading @@ -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 (); Loading @@ -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 ($); Loading Loading @@ -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(); Loading @@ -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); Loading Loading @@ -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'}, $master->[1]->{'path_myddir'}); unless ($opt_skip_rpl) { 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'}); } } } Loading Loading @@ -1388,7 +1386,7 @@ sub check_ndbcluster_support () { if ($opt_with_ndbcluster) { mtr_report("Using ndbcluster"); mtr_report("Using ndbcluster if necessary"); return; } Loading @@ -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; } Loading Loading @@ -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(); Loading @@ -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(); Loading Loading @@ -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'}); 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 ) { Loading Loading @@ -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); Loading Loading @@ -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 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 less server restarts reorder Reorder tests to get fewer server restarts help Get this help text unified-diff | udiff When presenting differences, use unified diff Loading
mysql-test/ndb/ndbcluster.sh +2 −2 Original line number Diff line number Diff line Loading @@ -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 Loading
mysql-test/r/variables.result +30 −1 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading Loading @@ -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
mysql-test/t/variables.test +38 −2 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading Loading @@ -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
sql/item_func.cc +0 −6 Original line number Diff line number Diff line Loading @@ -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; Loading