summaryrefslogtreecommitdiff
path: root/mysql-test/r/insert.result
diff options
context:
space:
mode:
authorAlexey Kopytov <Alexey.Kopytov@Sun.com>2009-12-22 19:23:13 +0300
committerAlexey Kopytov <Alexey.Kopytov@Sun.com>2009-12-22 19:23:13 +0300
commit12f364ece7663663cabdc29f106ca69af63fe4e7 (patch)
tree40437c602d2a9ddaa03a54742cec4884f0974253 /mysql-test/r/insert.result
parentd4f23f0cf6db38731a161c5c7b0b056fc67e5c02 (diff)
downloadmariadb-git-12f364ece7663663cabdc29f106ca69af63fe4e7.tar.gz
Backport of WL #2934: Make/find library for doing float/double
to string conversions and vice versa" Initial import of the dtoa.c code and custom wrappers around it to allow its usage from the server code. Conversion of FLOAT/DOUBLE values to DECIMAL ones or strings and vice versa has been significantly reworked. As the new algoritms are more precise than the older ones, results of such conversions may not always match those obtained from older server versions. This in turn may break compatibility for some applications. This patch also fixes the following bugs: - bug #12860 "Difference in zero padding of exponent between Unix and Windows" - bug #21497 "DOUBLE truncated to unusable value" - bug #26788 "mysqld (debug) aborts when inserting specific numbers into char fields" - bug #24541 "Data truncated..." on decimal type columns without any good reason"
Diffstat (limited to 'mysql-test/r/insert.result')
-rw-r--r--mysql-test/r/insert.result70
1 files changed, 31 insertions, 39 deletions
diff --git a/mysql-test/r/insert.result b/mysql-test/r/insert.result
index 36d2b9ef348..b322c5da73a 100644
--- a/mysql-test/r/insert.result
+++ b/mysql-test/r/insert.result
@@ -175,12 +175,12 @@ Warning 1264 Out of range value for column 'f_float_3_1_u' at row 1
select * from t1 where number =last_insert_id();
number 4
original_value 1e+1111111111a
-f_double 1.79769313486232e+308
-f_float 3.40282e+38
+f_double 1.7976931348623157e308
+f_float 3.40282e38
f_double_7_2 99999.99
f_float_4_3 9.999
-f_double_u 1.79769313486232e+308
-f_float_u 3.40282e+38
+f_double_u 1.7976931348623157e308
+f_float_u 3.40282e38
f_double_15_1_u 99999999999999.9
f_float_3_1_u 99.9
set @value= "-1e+1111111111a";
@@ -204,8 +204,8 @@ Warning 1264 Out of range value for column 'f_float_3_1_u' at row 1
select * from t1 where number =last_insert_id();
number 5
original_value -1e+1111111111a
-f_double -1.79769313486232e+308
-f_float -3.40282e+38
+f_double -1.7976931348623157e308
+f_float -3.40282e38
f_double_7_2 -99999.99
f_float_4_3 -9.999
f_double_u 0
@@ -227,13 +227,13 @@ Warning 1264 Out of range value for column 'f_double_15_1_u' at row 1
Warning 1264 Out of range value for column 'f_float_3_1_u' at row 1
select * from t1 where number =last_insert_id();
number 6
-original_value 1e+111
-f_double 1e+111
-f_float 3.40282e+38
+original_value 1e111
+f_double 1e111
+f_float 3.40282e38
f_double_7_2 99999.99
f_float_4_3 9.999
-f_double_u 1e+111
-f_float_u 3.40282e+38
+f_double_u 1e111
+f_float_u 3.40282e38
f_double_15_1_u 99999999999999.9
f_float_3_1_u 99.9
set @value= -1e+111;
@@ -248,9 +248,9 @@ Warning 1264 Out of range value for column 'f_double_15_1_u' at row 1
Warning 1264 Out of range value for column 'f_float_3_1_u' at row 1
select * from t1 where number =last_insert_id();
number 7
-original_value -1e+111
-f_double -1e+111
-f_float -3.40282e+38
+original_value -1e111
+f_double -1e111
+f_float -3.40282e38
f_double_7_2 -99999.99
f_float_4_3 -9.999
f_double_u 0
@@ -524,42 +524,36 @@ INSERT INTO t1(a,b) VALUES (1.25e-175, 1.25e-175);
INSERT INTO t1(a,c) VALUES (1.225e+0, 1.225e+0);
INSERT INTO t1(a,c) VALUES (1.37e+0, 1.37e+0);
INSERT INTO t1(a,c) VALUES (-1.37e+0, -1.37e+0);
-Warnings:
-Warning 1265 Data truncated for column 'c' at row 1
INSERT INTO t1(a,c) VALUES (1.87e-3, 1.87e-3);
Warnings:
Warning 1265 Data truncated for column 'c' at row 1
INSERT INTO t1(a,c) VALUES (-1.87e-2, -1.87e-2);
-Warnings:
-Warning 1265 Data truncated for column 'c' at row 1
INSERT INTO t1(a,c) VALUES (5000e+0, 5000e+0);
INSERT INTO t1(a,c) VALUES (-5000e+0, -5000e+0);
-Warnings:
-Warning 1265 Data truncated for column 'c' at row 1
SELECT * FROM t1;
a b c
9.999999 10 10
-1.225e-05 1.2e-05 1e-0
-0.0001225 0.00012 NULL
+0.00001225 1.22e-5 1e-5
+0.0001225 1.22e-4 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
-1.225e+15 1.2e+15 NULL
+12250000000 1.22e10 NULL
+1.225e15 1.22e15 NULL
5000000 5000000 NULL
-1.25e+78 1.2e+78 NULL
+1.25e78 1.25e78 NULL
1.25e-94 1.2e-94 NULL
-1.25e+203 1e+203 NULL
+1.25e203 1.2e203 NULL
1.25e-175 1e-175 NULL
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
+-1.37 NULL -1.4
+0.00187 NULL 2e-3
+-0.0187 NULL 0
5000 NULL 5000
--5000 NULL -500
+-5000 NULL -5e3
DROP TABLE t1;
CREATE TABLE t1 (
a char(20) NOT NULL,
@@ -586,32 +580,30 @@ INSERT INTO t1(a,c) VALUES (1.37e+0, 1.37e+0);
INSERT INTO t1(a,c) VALUES (-1.37e+0, -1.37e+0);
INSERT INTO t1(a,c) VALUES (1.87e-3, 1.87e-3);
INSERT INTO t1(a,c) VALUES (-1.87e-2, -1.87e-2);
-Warnings:
-Warning 1265 Data truncated for column 'c' at row 1
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.999999 10 9.999
-1.225e-05 1.2e-05 1e-05
-0.0001225 0.00012 NULL
+0.00001225 1.22e-5 1e-5
+0.0001225 1.22e-4 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
-1.225e+15 1.2e+15 NULL
+12250000000 1.22e10 NULL
+1.225e15 1.22e15 NULL
5000000 5000000 NULL
-1.25e+78 1.2e+78 NULL
+1.25e78 1.25e78 NULL
1.25e-94 1.2e-94 NULL
-1.25e+203 1e+203 NULL
+1.25e203 1.2e203 NULL
1.25e-175 1e-175 NULL
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
+-0.0187 NULL -0.02
5000 NULL 5000
-5000 NULL -5000
DROP TABLE t1;