Loading mysql-test/t/insert.test +3 −0 Original line number Diff line number Diff line Loading @@ -423,6 +423,9 @@ INSERT INTO t1(a,c) VALUES (-1.87e-2, -1.87e-2); INSERT INTO t1(a,c) VALUES (5000e+0, 5000e+0); INSERT INTO t1(a,c) VALUES (-5000e+0, -5000e+0); # Expected results are "12.2" and "1.2e+78", but Windows returns "12.3" and # "1.3e+78" due to different rounding rules --replace_result 12.3 12.2 1.3e+78 1.2e+78 SELECT * FROM t1; DROP TABLE t1; Loading mysql-test/t/variables.test +2 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,8 @@ select @test, @`test`, @TEST, @`TEST`, @"teSt"; set @select=2,@t5=1.23456; select @`select`,@not_used; set @test_int=10,@test_double=1e-10,@test_string="abcdeghi",@test_string2="abcdefghij",@select=NULL; # Expected result "1e-10", windows returns "1e-010" --replace_result 1e-010 1e-10 select @test_int,@test_double,@test_string,@test_string2,@select; set @test_int="hello",@test_double="hello",@test_string="hello",@test_string2="hello"; select @test_int,@test_double,@test_string,@test_string2; Loading sql/field.cc +4 −1 Original line number Diff line number Diff line Loading @@ -5954,7 +5954,10 @@ int Field_str::store(double nr) if (exp >= (int) digits || exp < -4) digits= max(0, (int) (max_length - 5 - (exp >= 100 || exp <= -100))); length= (uint) my_sprintf(buff, (buff, "%-.*g", min(digits, DBL_DIG ), nr)); /* Limit precision to DBL_DIG to avoid garbage past significant digits */ set_if_smaller(digits, DBL_DIG); length= (uint) my_sprintf(buff, (buff, "%-.*g", digits, nr)); #ifdef __WIN__ /* Loading Loading
mysql-test/t/insert.test +3 −0 Original line number Diff line number Diff line Loading @@ -423,6 +423,9 @@ INSERT INTO t1(a,c) VALUES (-1.87e-2, -1.87e-2); INSERT INTO t1(a,c) VALUES (5000e+0, 5000e+0); INSERT INTO t1(a,c) VALUES (-5000e+0, -5000e+0); # Expected results are "12.2" and "1.2e+78", but Windows returns "12.3" and # "1.3e+78" due to different rounding rules --replace_result 12.3 12.2 1.3e+78 1.2e+78 SELECT * FROM t1; DROP TABLE t1; Loading
mysql-test/t/variables.test +2 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,8 @@ select @test, @`test`, @TEST, @`TEST`, @"teSt"; set @select=2,@t5=1.23456; select @`select`,@not_used; set @test_int=10,@test_double=1e-10,@test_string="abcdeghi",@test_string2="abcdefghij",@select=NULL; # Expected result "1e-10", windows returns "1e-010" --replace_result 1e-010 1e-10 select @test_int,@test_double,@test_string,@test_string2,@select; set @test_int="hello",@test_double="hello",@test_string="hello",@test_string2="hello"; select @test_int,@test_double,@test_string,@test_string2; Loading
sql/field.cc +4 −1 Original line number Diff line number Diff line Loading @@ -5954,7 +5954,10 @@ int Field_str::store(double nr) if (exp >= (int) digits || exp < -4) digits= max(0, (int) (max_length - 5 - (exp >= 100 || exp <= -100))); length= (uint) my_sprintf(buff, (buff, "%-.*g", min(digits, DBL_DIG ), nr)); /* Limit precision to DBL_DIG to avoid garbage past significant digits */ set_if_smaller(digits, DBL_DIG); length= (uint) my_sprintf(buff, (buff, "%-.*g", digits, nr)); #ifdef __WIN__ /* Loading