~thomir-deactivatedaccount/drizzle/drizzle-fix-bug653747

« back to all changes in this revision

Viewing changes to plugin/haildb/test-suite-dir/haildb/tests/r/type_float.result

  • Committer: Brian Aker
  • Date: 2010-10-10 02:07:52 UTC
  • mfrom: (1827.2.3 staging)
  • Revision ID: brian@tangent.org-20101010020752-ktv73isay5dxtvp3
Merge in switch on table_share_instance inheritance.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
drop table if exists t1,t2;
2
 
SELECT 10,10.0,10.,.1e+2,100.0e-1;
3
 
10      10.0    10.     .1e+2   100.0e-1
4
 
10      10.0    10      10      10
5
 
SELECT 6e-16, -6e-16, --6e-16, -6e-16+1.000000;
6
 
6e-16   -6e-16  --6e-16 -6e-16+1.000000
7
 
6e-16   -6e-16  6e-16   0.999999999999999
8
 
SELECT 1e1,1.e1,1.0e1,1e+1,1.e+1,1.0e+1,1e-1,1.e-1,1.0e-1;
9
 
1e1     1.e1    1.0e1   1e+1    1.e+1   1.0e+1  1e-1    1.e-1   1.0e-1
10
 
10      10      10      10      10      10      0.1     0.1     0.1
11
 
SELECT 0.001e+1,0.001e-1, -0.001e+01,-0.001e-01;
12
 
0.001e+1        0.001e-1        -0.001e+01      -0.001e-01
13
 
0.01    0.0001  -0.01   -0.0001
14
 
SELECT 123.23E+02,-123.23E-02,"123.23E+02"+0.0,"-123.23E-02"+0.0;
15
 
123.23E+02      -123.23E-02     "123.23E+02"+0.0        "-123.23E-02"+0.0
16
 
12323   -1.2323 12323   -1.2323
17
 
SELECT 2147483647E+02,21474836.47E+06;
18
 
2147483647E+02  21474836.47E+06
19
 
214748364700    21474836470000
20
 
create table t1 (f1 float primary key,f2 float);
21
 
show columns from t1;
22
 
Field   Type    Null    Default Default_is_NULL On_Update
23
 
f1      DOUBLE  NO              NO      
24
 
f2      DOUBLE  YES             YES     
25
 
insert into t1 values(10,10),(1e+5,1e+5),(1234567890,1234567890),(1e+10,1e+10),(1e+15,1e+15),(1e+20,1e+20),(1e+50,1e+50),(1e+150,1e+150);
26
 
insert into t1 values(-10,-10),(1e-5,1e-5),(1e-10,1e-10),(1e-15,1e-15),(1e-20,1e-20),(1e-50,1e-50),(1e-150,1e-150);
27
 
select * from t1;
28
 
f1      f2
29
 
-10     -10
30
 
0.000000000000001       0.000000000000001
31
 
0.0000000001    0.0000000001
32
 
0.00001 0.00001
33
 
10      10
34
 
100000  100000
35
 
10000000000     10000000000
36
 
1234567890      1234567890
37
 
1e-150  1e-150
38
 
1e-20   1e-20
39
 
1e-50   1e-50
40
 
1e15    1e15
41
 
1e150   1e150
42
 
1e20    1e20
43
 
1e50    1e50
44
 
drop table t1;
45
 
create table t1 (datum double primary key);
46
 
insert into t1 values (0.5),(1.0),(1.5),(2.0),(2.5);
47
 
select * from t1;
48
 
datum
49
 
0.5
50
 
1
51
 
1.5
52
 
2
53
 
2.5
54
 
select * from t1 where datum < 1.5;
55
 
datum
56
 
0.5
57
 
1
58
 
select * from t1 where datum > 1.5;
59
 
datum
60
 
2
61
 
2.5
62
 
select * from t1 where datum = 1.5;
63
 
datum
64
 
1.5
65
 
drop table t1;
66
 
create table t1 (c1 double primary key, c2 varchar(20));
67
 
insert t1 values (121,"16");
68
 
select c1 + c1 * (c2 / 100) as col from t1;
69
 
col
70
 
140.36
71
 
create temporary table t2 engine=myisam as select c1 + c1 * (c2 / 100) as col1, round(c1, 5) as col2, round(c1, 35) as col3, sqrt(c1*1e-15) col4 from t1;
72
 
select * from t2;
73
 
col1    col2    col3    col4
74
 
140.36  121.00000       121     0.000000347850542618522
75
 
show create table t2;
76
 
Table   Create Table
77
 
t2      CREATE TEMPORARY TABLE `t2` (
78
 
  `col1` DOUBLE DEFAULT NULL,
79
 
  `col2` DOUBLE(22,5) NOT NULL,
80
 
  `col3` DOUBLE NOT NULL,
81
 
  `col4` DOUBLE DEFAULT NULL
82
 
) ENGINE=DEFAULT COLLATE = utf8_general_ci
83
 
drop table t1,t2;
84
 
create table t1 (a float primary key);
85
 
insert into t1 values (1);
86
 
select max(a),min(a),avg(a) from t1;
87
 
max(a)  min(a)  avg(a)
88
 
1       1       1
89
 
drop table t1;
90
 
create table t1 (c20 char primary key);
91
 
insert into t1 values (5000.0);
92
 
ERROR 22001: Data too long for column 'c20' at row 1
93
 
insert into t1 values (0.5e4);
94
 
ERROR 22001: Data too long for column 'c20' at row 1
95
 
drop table t1;
96
 
create table t1 (d1 double primary key, d2 double);
97
 
insert into t1 set d1 = -1.0;
98
 
update t1 set d2 = d1;
99
 
select * from t1;
100
 
d1      d2
101
 
-1      -1
102
 
drop table t1;
103
 
create table t1 (f float(4,3) primary key);
104
 
insert into t1 values (-11.0),(-11),("-11"),(11.0),(11),("11");
105
 
ERROR 22003: Out of range value for column 'f' at row 1
106
 
select * from t1;
107
 
f
108
 
drop table if exists t1;
109
 
create table t1 (f double(4,3) primary key);
110
 
insert into t1 values (-11.0),(-11),("-11"),(11.0),(11),("11");
111
 
ERROR 22003: Out of range value for column 'f' at row 1
112
 
select * from t1;
113
 
f
114
 
drop table if exists t1;
115
 
create table t1 (c char(20) primary key);
116
 
insert into t1 values (5e-28);
117
 
select * from t1;
118
 
c
119
 
5e-28
120
 
drop table t1;
121
 
create table t1 (c char(6) primary key);
122
 
insert into t1 values (2e5),(2e6),(2e-4),(2e-5);
123
 
select * from t1;
124
 
c
125
 
0.0002
126
 
200000
127
 
2e-5
128
 
2e6
129
 
drop table t1;
130
 
CREATE TEMPORARY TABLE t1 (
131
 
reckey int NOT NULL,
132
 
recdesc varchar(50) NOT NULL,
133
 
PRIMARY KEY  (reckey)
134
 
) ENGINE=MyISAM;
135
 
INSERT INTO t1 VALUES (108, 'Has 108 as key');
136
 
INSERT INTO t1 VALUES (109, 'Has 109 as key');
137
 
select * from t1 where reckey=108;
138
 
reckey  recdesc
139
 
108     Has 108 as key
140
 
select * from t1 where reckey=1.08E2;
141
 
reckey  recdesc
142
 
108     Has 108 as key
143
 
select * from t1 where reckey=109;
144
 
reckey  recdesc
145
 
109     Has 109 as key
146
 
select * from t1 where reckey=1.09E2;
147
 
reckey  recdesc
148
 
109     Has 109 as key
149
 
drop table t1;
150
 
create table t1 (d double primary key);
151
 
create table t2 (d double primary key);
152
 
insert into t1 values ("100000000.0");
153
 
insert into t2 values ("1.23456780");
154
 
create table t3 (d double primary key) as select t2.d from t2 union select t1.d from t1;
155
 
select * from t3;
156
 
d
157
 
1.2345678
158
 
100000000
159
 
show create table t3;
160
 
Table   Create Table
161
 
t3      CREATE TABLE `t3` (
162
 
  `d` DOUBLE NOT NULL,
163
 
  PRIMARY KEY (`d`) USING BTREE
164
 
) ENGINE=DEFAULT COLLATE = utf8_general_ci
165
 
drop table t1, t2, t3;
166
 
create temporary table  t1 engine=myisam as select  105213674794682365.00 + 0.0 x;
167
 
show warnings;
168
 
Level   Code    Message
169
 
desc  t1;
170
 
Field   Type    Null    Default Default_is_NULL On_Update
171
 
x       DECIMAL NO              NO      
172
 
drop table t1;
173
 
create temporary table t1 engine=myisam as select 0.0 x;
174
 
desc t1;
175
 
Field   Type    Null    Default Default_is_NULL On_Update
176
 
x       DECIMAL NO              NO      
177
 
create temporary table t2 engine=myisam as select 105213674794682365.00 y;
178
 
desc t2;
179
 
Field   Type    Null    Default Default_is_NULL On_Update
180
 
y       DECIMAL NO              NO      
181
 
create temporary table t3 engine=myisam as select x+y a from t1,t2;
182
 
show warnings;
183
 
Level   Code    Message
184
 
desc t3;
185
 
Field   Type    Null    Default Default_is_NULL On_Update
186
 
a       DECIMAL NO              NO      
187
 
drop table t1,t2,t3;
188
 
select 1e-308, 1.00000001e-300, 100000000e-300;
189
 
1e-308  1.00000001e-300 100000000e-300
190
 
1e-308  1.00000001e-300 1e-292
191
 
select 10e307;
192
 
10e307
193
 
1e308
194
 
create table t1(a int, b double(8, 2), pk int auto_increment primary key);
195
 
insert into t1 (a,b) values
196
 
(1, 28.50), (1, 121.85), (1, 157.23), (1, 1351.00), (1, -1965.35), (1, 81.75), 
197
 
(1, 217.08), (1, 7.94), (4, 96.07), (4, 6404.65), (4, -6500.72), (2, 100.00),
198
 
(5, 5.00), (5, -2104.80), (5, 2033.80), (5, 0.07), (5, 65.93),
199
 
(3, -4986.24), (3, 5.00), (3, 4857.34), (3, 123.74), (3,  0.16),
200
 
(6, -1695.31), (6, 1003.77), (6, 499.72), (6, 191.82);
201
 
explain select sum(b) s from t1 group by a;
202
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
203
 
1       SIMPLE  t1      ALL     NULL    NULL    NULL    NULL    #       Using temporary; Using filesort
204
 
select sum(b) s from t1 group by a;
205
 
s
206
 
0.00
207
 
100.00
208
 
0.00
209
 
-0.00
210
 
-0.00
211
 
0.00
212
 
select sum(b) s from t1 group by a having s <> 0;
213
 
s
214
 
100.00
215
 
select sum(b) s from t1 group by a having s <> 0 order by s;
216
 
s
217
 
100.00
218
 
select sum(b) s from t1 group by a having s <=> 0;
219
 
s
220
 
0.00
221
 
0.00
222
 
-0.00
223
 
-0.00
224
 
0.00
225
 
select sum(b) s from t1 group by a having s <=> 0 order by s;
226
 
s
227
 
-0.00
228
 
-0.00
229
 
0.00
230
 
0.00
231
 
0.00
232
 
alter table t1 add key (a, b);
233
 
explain select sum(b) s from t1 group by a;
234
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
235
 
1       SIMPLE  t1      index   NULL    a       14      NULL    #       Using index
236
 
select sum(b) s from t1 group by a;
237
 
s
238
 
0.00
239
 
100.00
240
 
0.00
241
 
-0.00
242
 
0.00
243
 
0.00
244
 
select sum(b) s from t1 group by a having s <> 0;
245
 
s
246
 
100.00
247
 
select sum(b) s from t1 group by a having s <> 0 order by s;
248
 
s
249
 
100.00
250
 
select sum(b) s from t1 group by a having s <=> 0;
251
 
s
252
 
0.00
253
 
0.00
254
 
-0.00
255
 
0.00
256
 
0.00
257
 
select sum(b) s from t1 group by a having s <=> 0 order by s;
258
 
s
259
 
-0.00
260
 
0.00
261
 
0.00
262
 
0.00
263
 
0.00
264
 
drop table t1;
265
 
End of 4.1 tests
266
 
create table t1 (s1 float(0,2));
267
 
ERROR 42000: For float(M,D), double(M,D) or decimal(M,D), M must be >= D (column 's1').
268
 
create table t1 (s1 float(1,2));
269
 
ERROR 42000: For float(M,D), double(M,D) or decimal(M,D), M must be >= D (column 's1').
270
 
create table t1 (f1 double(200, 0) primary key);
271
 
insert into t1 values (1e199), (-1e199);
272
 
insert into t1 values (1e200), (-1e200);
273
 
insert into t1 values (2e200), (-2e200);
274
 
ERROR 22003: Out of range value for column 'f1' at row 1
275
 
select f1 + 0e0 from t1;
276
 
f1 + 0e0
277
 
-1e200
278
 
-1e199
279
 
1e199
280
 
1e200
281
 
drop table t1;
282
 
create table t1 (f1 float(30, 0) primary key);
283
 
insert into t1 values (1e29), (-1e29);
284
 
insert into t1 values (1e30), (-1e30);
285
 
insert into t1 values (2e30), (-2e30);
286
 
ERROR 22003: Out of range value for column 'f1' at row 1
287
 
select f1 + 0e0 from t1;
288
 
f1 + 0e0
289
 
-1e30
290
 
-1e29
291
 
1e29
292
 
1e30
293
 
drop table t1;
294
 
create table t1 (c char(6) primary key);
295
 
insert into t1 values (2e6),(2e-5);
296
 
select * from t1;
297
 
c
298
 
2e-5
299
 
2e6
300
 
drop table t1;
301
 
CREATE TABLE d1 (d DOUBLE primary key);
302
 
INSERT INTO d1 VALUES (1.7976931348623157E+308);
303
 
SELECT * FROM d1;
304
 
d
305
 
1.79769313486232e308
306
 
INSERT INTO d1 VALUES (1.79769313486232e+308);
307
 
ERROR 22007: Illegal double '1.79769313486232e+308' value found during parsing
308
 
SELECT * FROM d1;
309
 
d
310
 
1.79769313486232e308
311
 
DROP TABLE d1;
312
 
create table t1 (a char(20) primary key);
313
 
insert into t1 values (1.225e-05);
314
 
select a+0 from t1;
315
 
a+0
316
 
0.00001225
317
 
drop table t1;
318
 
End of 5.0 tests