Fix obsolete comment regarding FSM truncation.
[PostgreSQL.git] / src / test / regress / expected / int2.out
blob61ac956cb74cb935622313c803e54e344e4f1aeb
1 --
2 -- INT2
3 -- NOTE: int2 operators never check for over/underflow!
4 -- Some of these answers are consequently numerically incorrect.
5 --
6 CREATE TABLE INT2_TBL(f1 int2);
7 INSERT INTO INT2_TBL(f1) VALUES ('0   ');
8 INSERT INTO INT2_TBL(f1) VALUES ('  1234 ');
9 INSERT INTO INT2_TBL(f1) VALUES ('    -1234');
10 INSERT INTO INT2_TBL(f1) VALUES ('34.5');
11 ERROR:  invalid input syntax for integer: "34.5"
12 LINE 1: INSERT INTO INT2_TBL(f1) VALUES ('34.5');
13                                          ^
14 -- largest and smallest values
15 INSERT INTO INT2_TBL(f1) VALUES ('32767');
16 INSERT INTO INT2_TBL(f1) VALUES ('-32767');
17 -- bad input values -- should give errors
18 INSERT INTO INT2_TBL(f1) VALUES ('100000');
19 ERROR:  value "100000" is out of range for type smallint
20 LINE 1: INSERT INTO INT2_TBL(f1) VALUES ('100000');
21                                          ^
22 INSERT INTO INT2_TBL(f1) VALUES ('asdf');
23 ERROR:  invalid input syntax for integer: "asdf"
24 LINE 1: INSERT INTO INT2_TBL(f1) VALUES ('asdf');
25                                          ^
26 INSERT INTO INT2_TBL(f1) VALUES ('    ');
27 ERROR:  invalid input syntax for integer: "    "
28 LINE 1: INSERT INTO INT2_TBL(f1) VALUES ('    ');
29                                          ^
30 INSERT INTO INT2_TBL(f1) VALUES ('- 1234');
31 ERROR:  invalid input syntax for integer: "- 1234"
32 LINE 1: INSERT INTO INT2_TBL(f1) VALUES ('- 1234');
33                                          ^
34 INSERT INTO INT2_TBL(f1) VALUES ('4 444');
35 ERROR:  invalid input syntax for integer: "4 444"
36 LINE 1: INSERT INTO INT2_TBL(f1) VALUES ('4 444');
37                                          ^
38 INSERT INTO INT2_TBL(f1) VALUES ('123 dt');
39 ERROR:  invalid input syntax for integer: "123 dt"
40 LINE 1: INSERT INTO INT2_TBL(f1) VALUES ('123 dt');
41                                          ^
42 INSERT INTO INT2_TBL(f1) VALUES ('');
43 ERROR:  invalid input syntax for integer: ""
44 LINE 1: INSERT INTO INT2_TBL(f1) VALUES ('');
45                                          ^
46 SELECT '' AS five, * FROM INT2_TBL;
47  five |   f1   
48 ------+--------
49       |      0
50       |   1234
51       |  -1234
52       |  32767
53       | -32767
54 (5 rows)
56 SELECT '' AS four, i.* FROM INT2_TBL i WHERE i.f1 <> int2 '0';
57  four |   f1   
58 ------+--------
59       |   1234
60       |  -1234
61       |  32767
62       | -32767
63 (4 rows)
65 SELECT '' AS four, i.* FROM INT2_TBL i WHERE i.f1 <> int4 '0';
66  four |   f1   
67 ------+--------
68       |   1234
69       |  -1234
70       |  32767
71       | -32767
72 (4 rows)
74 SELECT '' AS one, i.* FROM INT2_TBL i WHERE i.f1 = int2 '0';
75  one | f1 
76 -----+----
77      |  0
78 (1 row)
80 SELECT '' AS one, i.* FROM INT2_TBL i WHERE i.f1 = int4 '0';
81  one | f1 
82 -----+----
83      |  0
84 (1 row)
86 SELECT '' AS two, i.* FROM INT2_TBL i WHERE i.f1 < int2 '0';
87  two |   f1   
88 -----+--------
89      |  -1234
90      | -32767
91 (2 rows)
93 SELECT '' AS two, i.* FROM INT2_TBL i WHERE i.f1 < int4 '0';
94  two |   f1   
95 -----+--------
96      |  -1234
97      | -32767
98 (2 rows)
100 SELECT '' AS three, i.* FROM INT2_TBL i WHERE i.f1 <= int2 '0';
101  three |   f1   
102 -------+--------
103        |      0
104        |  -1234
105        | -32767
106 (3 rows)
108 SELECT '' AS three, i.* FROM INT2_TBL i WHERE i.f1 <= int4 '0';
109  three |   f1   
110 -------+--------
111        |      0
112        |  -1234
113        | -32767
114 (3 rows)
116 SELECT '' AS two, i.* FROM INT2_TBL i WHERE i.f1 > int2 '0';
117  two |  f1   
118 -----+-------
119      |  1234
120      | 32767
121 (2 rows)
123 SELECT '' AS two, i.* FROM INT2_TBL i WHERE i.f1 > int4 '0';
124  two |  f1   
125 -----+-------
126      |  1234
127      | 32767
128 (2 rows)
130 SELECT '' AS three, i.* FROM INT2_TBL i WHERE i.f1 >= int2 '0';
131  three |  f1   
132 -------+-------
133        |     0
134        |  1234
135        | 32767
136 (3 rows)
138 SELECT '' AS three, i.* FROM INT2_TBL i WHERE i.f1 >= int4 '0';
139  three |  f1   
140 -------+-------
141        |     0
142        |  1234
143        | 32767
144 (3 rows)
146 -- positive odds 
147 SELECT '' AS one, i.* FROM INT2_TBL i WHERE (i.f1 % int2 '2') = int2 '1';
148  one |  f1   
149 -----+-------
150      | 32767
151 (1 row)
153 -- any evens 
154 SELECT '' AS three, i.* FROM INT2_TBL i WHERE (i.f1 % int4 '2') = int2 '0';
155  three |  f1   
156 -------+-------
157        |     0
158        |  1234
159        | -1234
160 (3 rows)
162 SELECT '' AS five, i.f1, i.f1 * int2 '2' AS x FROM INT2_TBL i;
163 ERROR:  smallint out of range
164 SELECT '' AS five, i.f1, i.f1 * int2 '2' AS x FROM INT2_TBL i
165 WHERE abs(f1) < 16384;
166  five |  f1   |   x   
167 ------+-------+-------
168       |     0 |     0
169       |  1234 |  2468
170       | -1234 | -2468
171 (3 rows)
173 SELECT '' AS five, i.f1, i.f1 * int4 '2' AS x FROM INT2_TBL i;
174  five |   f1   |   x    
175 ------+--------+--------
176       |      0 |      0
177       |   1234 |   2468
178       |  -1234 |  -2468
179       |  32767 |  65534
180       | -32767 | -65534
181 (5 rows)
183 SELECT '' AS five, i.f1, i.f1 + int2 '2' AS x FROM INT2_TBL i;
184 ERROR:  smallint out of range
185 SELECT '' AS five, i.f1, i.f1 + int2 '2' AS x FROM INT2_TBL i
186 WHERE f1 < 32766;
187  five |   f1   |   x    
188 ------+--------+--------
189       |      0 |      2
190       |   1234 |   1236
191       |  -1234 |  -1232
192       | -32767 | -32765
193 (4 rows)
195 SELECT '' AS five, i.f1, i.f1 + int4 '2' AS x FROM INT2_TBL i;
196  five |   f1   |   x    
197 ------+--------+--------
198       |      0 |      2
199       |   1234 |   1236
200       |  -1234 |  -1232
201       |  32767 |  32769
202       | -32767 | -32765
203 (5 rows)
205 SELECT '' AS five, i.f1, i.f1 - int2 '2' AS x FROM INT2_TBL i;
206 ERROR:  smallint out of range
207 SELECT '' AS five, i.f1, i.f1 - int2 '2' AS x FROM INT2_TBL i
208 WHERE f1 > -32767;
209  five |  f1   |   x   
210 ------+-------+-------
211       |     0 |    -2
212       |  1234 |  1232
213       | -1234 | -1236
214       | 32767 | 32765
215 (4 rows)
217 SELECT '' AS five, i.f1, i.f1 - int4 '2' AS x FROM INT2_TBL i;
218  five |   f1   |   x    
219 ------+--------+--------
220       |      0 |     -2
221       |   1234 |   1232
222       |  -1234 |  -1236
223       |  32767 |  32765
224       | -32767 | -32769
225 (5 rows)
227 SELECT '' AS five, i.f1, i.f1 / int2 '2' AS x FROM INT2_TBL i;
228  five |   f1   |   x    
229 ------+--------+--------
230       |      0 |      0
231       |   1234 |    617
232       |  -1234 |   -617
233       |  32767 |  16383
234       | -32767 | -16383
235 (5 rows)
237 SELECT '' AS five, i.f1, i.f1 / int4 '2' AS x FROM INT2_TBL i;
238  five |   f1   |   x    
239 ------+--------+--------
240       |      0 |      0
241       |   1234 |    617
242       |  -1234 |   -617
243       |  32767 |  16383
244       | -32767 | -16383
245 (5 rows)