Fix xslt_process() to ensure that it inserts a NULL terminator after the
[PostgreSQL.git] / src / test / regress / expected / float4-exp-three-digits.out
blobb849910151da3cb40e79a954b0984bee3d6588f8
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)
67 SELECT 'nan'::float4;
68  float4 
69 --------
70     NaN
71 (1 row)
73 SELECT '   NAN  '::float4;
74  float4 
75 --------
76     NaN
77 (1 row)
79 SELECT 'infinity'::float4;
80   float4  
81 ----------
82  Infinity
83 (1 row)
85 SELECT '          -INFINiTY   '::float4;
86   float4   
87 -----------
88  -Infinity
89 (1 row)
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)
110 SELECT 'Infinity'::float4 / 'Infinity'::float4;
111  ?column? 
112 ----------
113       NaN
114 (1 row)
116 SELECT 'nan'::float4 / 'nan'::float4;
117  ?column? 
118 ----------
119       NaN
120 (1 row)
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)
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)
141 SELECT '' AS one, f.* FROM FLOAT4_TBL f WHERE f.f1 = '1004.3';
142  one |   f1   
143 -----+--------
144      | 1004.3
145 (1 row)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)