diff options
author | unknown <kaa@polly.(none)> | 2007-12-01 15:25:24 +0300 |
---|---|---|
committer | unknown <kaa@polly.(none)> | 2007-12-01 15:25:24 +0300 |
commit | 1f22720c3f6bf28a44ee0e3a9a9abd52e9debe64 (patch) | |
tree | ef0425d76948e8696f54c69d42e7d37d7a11c274 /mysql-test | |
parent | d8d07eff702b303b9458ac5622bdc42e5a0c1f93 (diff) | |
download | mariadb-git-1f22720c3f6bf28a44ee0e3a9a9abd52e9debe64.tar.gz |
Fixed the floating point number tests on Windows.
mysql-test/r/insert.result:
Fixed the test cases.
mysql-test/t/cast.test:
We need to do replace_result because warnings are printed by another procedure.
mysql-test/t/insert.test:
Windows implements a different rounding rules in printf("%g"), thus we still need to do replace_result.
sql/field.cc:
Limit the precision to avoid garbage past the significant digits.
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/r/insert.result | 24 | ||||
-rw-r--r-- | mysql-test/t/cast.test | 2 | ||||
-rw-r--r-- | mysql-test/t/insert.test | 4 |
3 files changed, 17 insertions, 13 deletions
diff --git a/mysql-test/r/insert.result b/mysql-test/r/insert.result index 0571d31fe57..36cfeec1b3a 100644 --- a/mysql-test/r/insert.result +++ b/mysql-test/r/insert.result @@ -500,23 +500,23 @@ Warnings: Warning 1265 Data truncated for column 'c' at row 1 SELECT * FROM t1; a b c -9.999999000000000748 10 10 +9.999999 10 10 1.225e-05 1.2e-05 1e-0 0.0001225 0.00012 NULL -0.122499999999999998 0.1225 NULL -0.122587699999999994 0.12259 NULL +0.1225 0.1225 NULL +0.1225877 0.12259 NULL 12.25 12.25 NULL 12.25 12.25 12.2 122500 122500 NULL 12250000000 1.2e+10 NULL -1225000000000000 1.2e+15 NULL +1.225e+15 1.2e+15 NULL 5000000 5000000 NULL 1.25e+78 1.2e+78 NULL 1.25e-94 1.2e-94 NULL 1.25e+203 1e+203 NULL 1.25e-175 1e-175 NULL -1.225000000000000089 NULL 1.23 -1.370000000000000107 NULL 1.37 +1.225 NULL 1.23 +1.37 NULL 1.37 -1.37 NULL -1.3 0.00187 NULL 0.00 -0.0187 NULL -0.0 @@ -554,23 +554,23 @@ INSERT INTO t1(a,c) VALUES (5000e+0, 5000e+0); INSERT INTO t1(a,c) VALUES (-5000e+0, -5000e+0); SELECT * FROM t1; a b c -9.999999000000000748 10 9.999 +9.999999 10 9.999 1.225e-05 1.2e-05 1e-05 0.0001225 0.00012 NULL -0.122499999999999998 0.1225 NULL -0.122587699999999994 0.12259 NULL +0.1225 0.1225 NULL +0.1225877 0.12259 NULL 12.25 12.25 NULL 12.25 12.25 12.25 122500 122500 NULL 12250000000 1.2e+10 NULL -1225000000000000 1.2e+15 NULL +1.225e+15 1.2e+15 NULL 5000000 5000000 NULL 1.25e+78 1.2e+78 NULL 1.25e-94 1.2e-94 NULL 1.25e+203 1e+203 NULL 1.25e-175 1e-175 NULL -1.225000000000000089 NULL 1.225 -1.370000000000000107 NULL 1.37 +1.225 NULL 1.225 +1.37 NULL 1.37 -1.37 NULL -1.37 0.00187 NULL 0.002 -0.0187 NULL -0.01 diff --git a/mysql-test/t/cast.test b/mysql-test/t/cast.test index fecb8677d51..316b79efe4d 100644 --- a/mysql-test/t/cast.test +++ b/mysql-test/t/cast.test @@ -177,6 +177,8 @@ select cast(1.0e+300 as signed int); CREATE TABLE t1 (f1 double); INSERT INTO t1 SET f1 = -1.0e+30 ; INSERT INTO t1 SET f1 = +1.0e+30 ; +# Expected result is +-1e+30, but Windows returns +-1e+030. +--replace_result 1e+030 1e+30 SELECT f1 AS double_val, CAST(f1 AS SIGNED INT) AS cast_val FROM t1; DROP TABLE t1; diff --git a/mysql-test/t/insert.test b/mysql-test/t/insert.test index cf67935768a..3c150d0c3f6 100644 --- a/mysql-test/t/insert.test +++ b/mysql-test/t/insert.test @@ -386,7 +386,9 @@ INSERT INTO t1(a,c) VALUES (1.87e-3, 1.87e-3); 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; |