Flip the default typispreferred setting from true to false. This affects
[PostgreSQL.git] / src / test / regress / expected / box.out
blobcd2179f0927c988c16c278e7dde29e7414597e2c
1 --
2 -- BOX
3 --
4 --
5 -- box logic
6 --           o
7 -- 3      o--|X
8 --        |  o|
9 -- 2    +-+-+ |
10 --      | | | |
11 -- 1    | o-+-o
12 --      |   |
13 -- 0    +---+
15 --      0 1 2 3
17 -- boxes are specified by two points, given by four floats x1,y1,x2,y2
18 CREATE TABLE BOX_TBL (f1 box);
19 INSERT INTO BOX_TBL (f1) VALUES ('(2.0,2.0,0.0,0.0)');
20 INSERT INTO BOX_TBL (f1) VALUES ('(1.0,1.0,3.0,3.0)');
21 -- degenerate cases where the box is a line or a point 
22 -- note that lines and points boxes all have zero area 
23 INSERT INTO BOX_TBL (f1) VALUES ('(2.5, 2.5, 2.5,3.5)');
24 INSERT INTO BOX_TBL (f1) VALUES ('(3.0, 3.0,3.0,3.0)');
25 -- badly formatted box inputs 
26 INSERT INTO BOX_TBL (f1) VALUES ('(2.3, 4.5)');
27 ERROR:  invalid input syntax for type box: "(2.3, 4.5)"
28 INSERT INTO BOX_TBL (f1) VALUES ('asdfasdf(ad');
29 ERROR:  invalid input syntax for type box: "asdfasdf(ad"
30 SELECT '' AS four, * FROM BOX_TBL;
31  four |         f1          
32 ------+---------------------
33       | (2,2),(0,0)
34       | (3,3),(1,1)
35       | (2.5,3.5),(2.5,2.5)
36       | (3,3),(3,3)
37 (4 rows)
39 SELECT '' AS four, b.*, area(b.f1) as barea
40    FROM BOX_TBL b;
41  four |         f1          | barea 
42 ------+---------------------+-------
43       | (2,2),(0,0)         |     4
44       | (3,3),(1,1)         |     4
45       | (2.5,3.5),(2.5,2.5) |     0
46       | (3,3),(3,3)         |     0
47 (4 rows)
49 -- overlap 
50 SELECT '' AS three, b.f1
51    FROM BOX_TBL b  
52    WHERE b.f1 && box '(2.5,2.5,1.0,1.0)';
53  three |         f1          
54 -------+---------------------
55        | (2,2),(0,0)
56        | (3,3),(1,1)
57        | (2.5,3.5),(2.5,2.5)
58 (3 rows)
60 -- left-or-overlap (x only) 
61 SELECT '' AS two, b1.*
62    FROM BOX_TBL b1
63    WHERE b1.f1 &< box '(2.0,2.0,2.5,2.5)';
64  two |         f1          
65 -----+---------------------
66      | (2,2),(0,0)
67      | (2.5,3.5),(2.5,2.5)
68 (2 rows)
70 -- right-or-overlap (x only) 
71 SELECT '' AS two, b1.*
72    FROM BOX_TBL b1
73    WHERE b1.f1 &> box '(2.0,2.0,2.5,2.5)';
74  two |         f1          
75 -----+---------------------
76      | (2.5,3.5),(2.5,2.5)
77      | (3,3),(3,3)
78 (2 rows)
80 -- left of 
81 SELECT '' AS two, b.f1
82    FROM BOX_TBL b
83    WHERE b.f1 << box '(3.0,3.0,5.0,5.0)';
84  two |         f1          
85 -----+---------------------
86      | (2,2),(0,0)
87      | (2.5,3.5),(2.5,2.5)
88 (2 rows)
90 -- area <= 
91 SELECT '' AS four, b.f1
92    FROM BOX_TBL b
93    WHERE b.f1 <= box '(3.0,3.0,5.0,5.0)';
94  four |         f1          
95 ------+---------------------
96       | (2,2),(0,0)
97       | (3,3),(1,1)
98       | (2.5,3.5),(2.5,2.5)
99       | (3,3),(3,3)
100 (4 rows)
102 -- area < 
103 SELECT '' AS two, b.f1
104    FROM BOX_TBL b
105    WHERE b.f1 < box '(3.0,3.0,5.0,5.0)';
106  two |         f1          
107 -----+---------------------
108      | (2.5,3.5),(2.5,2.5)
109      | (3,3),(3,3)
110 (2 rows)
112 -- area = 
113 SELECT '' AS two, b.f1
114    FROM BOX_TBL b
115    WHERE b.f1 = box '(3.0,3.0,5.0,5.0)';
116  two |     f1      
117 -----+-------------
118      | (2,2),(0,0)
119      | (3,3),(1,1)
120 (2 rows)
122 -- area > 
123 SELECT '' AS two, b.f1
124    FROM BOX_TBL b                               -- zero area 
125    WHERE b.f1 > box '(3.5,3.0,4.5,3.0)';        
126  two |     f1      
127 -----+-------------
128      | (2,2),(0,0)
129      | (3,3),(1,1)
130 (2 rows)
132 -- area >= 
133 SELECT '' AS four, b.f1
134    FROM BOX_TBL b                               -- zero area 
135    WHERE b.f1 >= box '(3.5,3.0,4.5,3.0)';
136  four |         f1          
137 ------+---------------------
138       | (2,2),(0,0)
139       | (3,3),(1,1)
140       | (2.5,3.5),(2.5,2.5)
141       | (3,3),(3,3)
142 (4 rows)
144 -- right of 
145 SELECT '' AS two, b.f1
146    FROM BOX_TBL b
147    WHERE box '(3.0,3.0,5.0,5.0)' >> b.f1;
148  two |         f1          
149 -----+---------------------
150      | (2,2),(0,0)
151      | (2.5,3.5),(2.5,2.5)
152 (2 rows)
154 -- contained in 
155 SELECT '' AS three, b.f1
156    FROM BOX_TBL b
157    WHERE b.f1 <@ box '(0,0,3,3)';
158  three |     f1      
159 -------+-------------
160        | (2,2),(0,0)
161        | (3,3),(1,1)
162        | (3,3),(3,3)
163 (3 rows)
165 -- contains 
166 SELECT '' AS three, b.f1
167    FROM BOX_TBL b
168    WHERE box '(0,0,3,3)' @> b.f1;
169  three |     f1      
170 -------+-------------
171        | (2,2),(0,0)
172        | (3,3),(1,1)
173        | (3,3),(3,3)
174 (3 rows)
176 -- box equality 
177 SELECT '' AS one, b.f1
178    FROM BOX_TBL b
179    WHERE box '(1,1,3,3)' ~= b.f1;
180  one |     f1      
181 -----+-------------
182      | (3,3),(1,1)
183 (1 row)
185 -- center of box, left unary operator 
186 SELECT '' AS four, @@(b1.f1) AS p
187    FROM BOX_TBL b1;
188  four |    p    
189 ------+---------
190       | (1,1)
191       | (2,2)
192       | (2.5,3)
193       | (3,3)
194 (4 rows)
196 -- wholly-contained 
197 SELECT '' AS one, b1.*, b2.*
198    FROM BOX_TBL b1, BOX_TBL b2 
199    WHERE b1.f1 @> b2.f1 and not b1.f1 ~= b2.f1;
200  one |     f1      |     f1      
201 -----+-------------+-------------
202      | (3,3),(1,1) | (3,3),(3,3)
203 (1 row)
205 SELECT '' AS four, height(f1), width(f1) FROM BOX_TBL;
206  four | height | width 
207 ------+--------+-------
208       |      2 |     2
209       |      2 |     2
210       |      1 |     0
211       |      0 |     0
212 (4 rows)