diff options
-rwxr-xr-x | mysql-test/mysql-test-run.pl | 26 | ||||
-rw-r--r-- | mysql-test/t/type_newdecimal.test | 13 | ||||
-rw-r--r-- | sql/parse_file.cc | 1 |
3 files changed, 30 insertions, 10 deletions
diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index 84b6d26e31a..c0ab61bd7f3 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -2333,11 +2333,32 @@ sub save_installed_db () { } } + +# +# Save any interesting files in the data_dir +# before the data dir is removed. +# +sub save_files_before_restore($$) { + my $test_name= shift; + my $data_dir= shift; + my $save_name= "$opt_vardir/log/$test_name"; + + # Look for core files + foreach my $core_file ( glob("$data_dir/core*") ) + { + my $core_name= basename($core_file); + mtr_report("Saving $core_name"); + mkdir($save_name) if ! -d $save_name; + rename("$core_file", "$save_name/$core_name"); + } +} + # # Restore snapshot of the installed test db(s) # if the snapshot exists # -sub restore_installed_db () { +sub restore_installed_db ($) { + my $test_name= shift; if ( -d $path_snapshot) { @@ -2348,6 +2369,7 @@ sub restore_installed_db () { foreach my $data_dir (@data_dir_lst) { my $name= basename($data_dir); + save_files_before_restore($test_name, $data_dir); rmtree("$data_dir"); copy_dir("$path_snapshot/$name", "$data_dir"); } @@ -2381,7 +2403,7 @@ sub report_failure_and_restart ($) { if ( $opt_force ) { # Restore the snapshot of the installed test db - restore_installed_db(); + restore_installed_db($tinfo->{'name'}); print "Resuming Tests\n\n"; return; } diff --git a/mysql-test/t/type_newdecimal.test b/mysql-test/t/type_newdecimal.test index 47b8bf64d66..74782a5bddb 100644 --- a/mysql-test/t/type_newdecimal.test +++ b/mysql-test/t/type_newdecimal.test @@ -1054,14 +1054,7 @@ SELECT my_float, my_double, my_varchar FROM t1; # On windows we get 0.000000000011754943372854770000 # use replace_result to correct it --replace_result 0.000000000011754943372854770000 0.000000000011754943372854760000 - SELECT CAST(my_float AS DECIMAL(65,30)), my_float FROM t1; - -# Expected result 0.000000000011754943372854760000 -# On windows we get 0.000000000011754943372854770000 -# use replace_result to correct it ---replace_result 0.000000000011754943372854770000 0.000000000011754943372854760000 - SELECT CAST(my_double AS DECIMAL(65,30)), my_double FROM t1; SELECT CAST(my_varchar AS DECIMAL(65,30)), my_varchar FROM t1; @@ -1072,7 +1065,13 @@ SELECT CAST(my_varchar AS DECIMAL(65,30)), my_varchar FROM t1; --disable_warnings UPDATE t1 SET my_decimal = my_float; + +# Expected result 0.000000000011754943372854760000 +# On windows we get 0.000000000011754943372854770000 +# use replace_result to correct it +--replace_result 0.000000000011754943372854770000 0.000000000011754943372854760000 SELECT my_decimal, my_float FROM t1; + UPDATE t1 SET my_decimal = my_double; SELECT my_decimal, my_double FROM t1; --enable_warnings diff --git a/sql/parse_file.cc b/sql/parse_file.cc index 2a602e9ba28..7faa4081d7d 100644 --- a/sql/parse_file.cc +++ b/sql/parse_file.cc @@ -759,7 +759,6 @@ File_parser::parse(gptr base, MEM_ROOT *mem_root, char *eol; LEX_STRING *str; List<LEX_STRING> *list; - ulonglong *num; DBUG_ENTER("File_parser::parse"); while (ptr < end && found < required) |