~ubuntu-branches/ubuntu/hardy/postgresql-8.4/hardy-backports

« back to all changes in this revision

Viewing changes to src/test/regress/expected/float4-exp-three-digits.out

  • Committer: Bazaar Package Importer
  • Author(s): Martin Pitt
  • Date: 2009-03-20 12:00:13 UTC
  • Revision ID: james.westby@ubuntu.com-20090320120013-hogj7egc5mjncc5g
Tags: upstream-8.4~0cvs20090328
ImportĀ upstreamĀ versionĀ 8.4~0cvs20090328

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
--
 
2
-- FLOAT4
 
3
--
 
4
CREATE TABLE FLOAT4_TBL (f1  float4);
 
5
INSERT INTO FLOAT4_TBL(f1) VALUES ('    0.0');
 
6
INSERT INTO FLOAT4_TBL(f1) VALUES ('1004.30   ');
 
7
INSERT INTO FLOAT4_TBL(f1) VALUES ('     -34.84    ');
 
8
INSERT INTO FLOAT4_TBL(f1) VALUES ('1.2345678901234e+20');
 
9
INSERT INTO FLOAT4_TBL(f1) VALUES ('1.2345678901234e-20');
 
10
-- test for over and under flow 
 
11
INSERT INTO FLOAT4_TBL(f1) VALUES ('10e70');
 
12
ERROR:  value out of range: overflow
 
13
LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('10e70');
 
14
                                           ^
 
15
INSERT INTO FLOAT4_TBL(f1) VALUES ('-10e70');
 
16
ERROR:  value out of range: overflow
 
17
LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('-10e70');
 
18
                                           ^
 
19
INSERT INTO FLOAT4_TBL(f1) VALUES ('10e-70');
 
20
ERROR:  value out of range: underflow
 
21
LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('10e-70');
 
22
                                           ^
 
23
INSERT INTO FLOAT4_TBL(f1) VALUES ('-10e-70');
 
24
ERROR:  value out of range: underflow
 
25
LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('-10e-70');
 
26
                                           ^
 
27
-- bad input
 
28
INSERT INTO FLOAT4_TBL(f1) VALUES ('');
 
29
ERROR:  invalid input syntax for type real: ""
 
30
LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('');
 
31
                                           ^
 
32
INSERT INTO FLOAT4_TBL(f1) VALUES ('       ');
 
33
ERROR:  invalid input syntax for type real: "       "
 
34
LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('       ');
 
35
                                           ^
 
36
INSERT INTO FLOAT4_TBL(f1) VALUES ('xyz');
 
37
ERROR:  invalid input syntax for type real: "xyz"
 
38
LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('xyz');
 
39
                                           ^
 
40
INSERT INTO FLOAT4_TBL(f1) VALUES ('5.0.0');
 
41
ERROR:  invalid input syntax for type real: "5.0.0"
 
42
LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('5.0.0');
 
43
                                           ^
 
44
INSERT INTO FLOAT4_TBL(f1) VALUES ('5 . 0');
 
45
ERROR:  invalid input syntax for type real: "5 . 0"
 
46
LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('5 . 0');
 
47
                                           ^
 
48
INSERT INTO FLOAT4_TBL(f1) VALUES ('5.   0');
 
49
ERROR:  invalid input syntax for type real: "5.   0"
 
50
LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('5.   0');
 
51
                                           ^
 
52
INSERT INTO FLOAT4_TBL(f1) VALUES ('     - 3.0');
 
53
ERROR:  invalid input syntax for type real: "     - 3.0"
 
54
LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('     - 3.0');
 
55
                                           ^
 
56
INSERT INTO FLOAT4_TBL(f1) VALUES ('123            5');
 
57
ERROR:  invalid input syntax for type real: "123            5"
 
58
LINE 1: INSERT INTO FLOAT4_TBL(f1) VALUES ('123            5');
 
59
                                           ^
 
60
-- special inputs
 
61
SELECT 'NaN'::float4;
 
62
 float4 
 
63
--------
 
64
    NaN
 
65
(1 row)
 
66
 
 
67
SELECT 'nan'::float4;
 
68
 float4 
 
69
--------
 
70
    NaN
 
71
(1 row)
 
72
 
 
73
SELECT '   NAN  '::float4;
 
74
 float4 
 
75
--------
 
76
    NaN
 
77
(1 row)
 
78
 
 
79
SELECT 'infinity'::float4;
 
80
  float4  
 
81
----------
 
82
 Infinity
 
83
(1 row)
 
84
 
 
85
SELECT '          -INFINiTY   '::float4;
 
86
  float4   
 
87
-----------
 
88
 -Infinity
 
89
(1 row)
 
90
 
 
91
-- bad special inputs
 
92
SELECT 'N A N'::float4;
 
93
ERROR:  invalid input syntax for type real: "N A N"
 
94
LINE 1: SELECT 'N A N'::float4;
 
95
               ^
 
96
SELECT 'NaN x'::float4;
 
97
ERROR:  invalid input syntax for type real: "NaN x"
 
98
LINE 1: SELECT 'NaN x'::float4;
 
99
               ^
 
100
SELECT ' INFINITY    x'::float4;
 
101
ERROR:  invalid input syntax for type real: " INFINITY    x"
 
102
LINE 1: SELECT ' INFINITY    x'::float4;
 
103
               ^
 
104
SELECT 'Infinity'::float4 + 100.0;
 
105
 ?column? 
 
106
----------
 
107
 Infinity
 
108
(1 row)
 
109
 
 
110
SELECT 'Infinity'::float4 / 'Infinity'::float4;
 
111
 ?column? 
 
112
----------
 
113
      NaN
 
114
(1 row)
 
115
 
 
116
SELECT 'nan'::float4 / 'nan'::float4;
 
117
 ?column? 
 
118
----------
 
119
      NaN
 
120
(1 row)
 
121
 
 
122
SELECT '' AS five, * FROM FLOAT4_TBL;
 
123
 five |      f1      
 
124
------+--------------
 
125
      |            0
 
126
      |       1004.3
 
127
      |       -34.84
 
128
      | 1.23457e+020
 
129
      | 1.23457e-020
 
130
(5 rows)
 
131
 
 
132
SELECT '' AS four, f.* FROM FLOAT4_TBL f WHERE f.f1 <> '1004.3';
 
133
 four |      f1      
 
134
------+--------------
 
135
      |            0
 
136
      |       -34.84
 
137
      | 1.23457e+020
 
138
      | 1.23457e-020
 
139
(4 rows)
 
140
 
 
141
SELECT '' AS one, f.* FROM FLOAT4_TBL f WHERE f.f1 = '1004.3';
 
142
 one |   f1   
 
143
-----+--------
 
144
     | 1004.3
 
145
(1 row)
 
146
 
 
147
SELECT '' AS three, f.* FROM FLOAT4_TBL f WHERE '1004.3' > f.f1;
 
148
 three |      f1      
 
149
-------+--------------
 
150
       |            0
 
151
       |       -34.84
 
152
       | 1.23457e-020
 
153
(3 rows)
 
154
 
 
155
SELECT '' AS three, f.* FROM FLOAT4_TBL f WHERE  f.f1 < '1004.3';
 
156
 three |      f1      
 
157
-------+--------------
 
158
       |            0
 
159
       |       -34.84
 
160
       | 1.23457e-020
 
161
(3 rows)
 
162
 
 
163
SELECT '' AS four, f.* FROM FLOAT4_TBL f WHERE '1004.3' >= f.f1;
 
164
 four |      f1      
 
165
------+--------------
 
166
      |            0
 
167
      |       1004.3
 
168
      |       -34.84
 
169
      | 1.23457e-020
 
170
(4 rows)
 
171
 
 
172
SELECT '' AS four, f.* FROM FLOAT4_TBL f WHERE  f.f1 <= '1004.3';
 
173
 four |      f1      
 
174
------+--------------
 
175
      |            0
 
176
      |       1004.3
 
177
      |       -34.84
 
178
      | 1.23457e-020
 
179
(4 rows)
 
180
 
 
181
SELECT '' AS three, f.f1, f.f1 * '-10' AS x FROM FLOAT4_TBL f
 
182
   WHERE f.f1 > '0.0';
 
183
 three |      f1      |       x       
 
184
-------+--------------+---------------
 
185
       |       1004.3 |        -10043
 
186
       | 1.23457e+020 | -1.23457e+021
 
187
       | 1.23457e-020 | -1.23457e-019
 
188
(3 rows)
 
189
 
 
190
SELECT '' AS three, f.f1, f.f1 + '-10' AS x FROM FLOAT4_TBL f
 
191
   WHERE f.f1 > '0.0';
 
192
 three |      f1      |      x       
 
193
-------+--------------+--------------
 
194
       |       1004.3 |        994.3
 
195
       | 1.23457e+020 | 1.23457e+020
 
196
       | 1.23457e-020 |          -10
 
197
(3 rows)
 
198
 
 
199
SELECT '' AS three, f.f1, f.f1 / '-10' AS x FROM FLOAT4_TBL f
 
200
   WHERE f.f1 > '0.0';
 
201
 three |      f1      |       x       
 
202
-------+--------------+---------------
 
203
       |       1004.3 |       -100.43
 
204
       | 1.23457e+020 | -1.23457e+019
 
205
       | 1.23457e-020 | -1.23457e-021
 
206
(3 rows)
 
207
 
 
208
SELECT '' AS three, f.f1, f.f1 - '-10' AS x FROM FLOAT4_TBL f
 
209
   WHERE f.f1 > '0.0';
 
210
 three |      f1      |      x       
 
211
-------+--------------+--------------
 
212
       |       1004.3 |       1014.3
 
213
       | 1.23457e+020 | 1.23457e+020
 
214
       | 1.23457e-020 |           10
 
215
(3 rows)
 
216
 
 
217
-- test divide by zero
 
218
SELECT '' AS bad, f.f1 / '0.0' from FLOAT4_TBL f;
 
219
ERROR:  division by zero
 
220
SELECT '' AS five, * FROM FLOAT4_TBL;
 
221
 five |      f1      
 
222
------+--------------
 
223
      |            0
 
224
      |       1004.3
 
225
      |       -34.84
 
226
      | 1.23457e+020
 
227
      | 1.23457e-020
 
228
(5 rows)
 
229
 
 
230
-- test the unary float4abs operator 
 
231
SELECT '' AS five, f.f1, @f.f1 AS abs_f1 FROM FLOAT4_TBL f;
 
232
 five |      f1      |    abs_f1    
 
233
------+--------------+--------------
 
234
      |            0 |            0
 
235
      |       1004.3 |       1004.3
 
236
      |       -34.84 |        34.84
 
237
      | 1.23457e+020 | 1.23457e+020
 
238
      | 1.23457e-020 | 1.23457e-020
 
239
(5 rows)
 
240
 
 
241
UPDATE FLOAT4_TBL
 
242
   SET f1 = FLOAT4_TBL.f1 * '-1'
 
243
   WHERE FLOAT4_TBL.f1 > '0.0';
 
244
SELECT '' AS five, * FROM FLOAT4_TBL;
 
245
 five |      f1       
 
246
------+---------------
 
247
      |             0
 
248
      |        -34.84
 
249
      |       -1004.3
 
250
      | -1.23457e+020
 
251
      | -1.23457e-020
 
252
(5 rows)
 
253