rev |
line source |
jbe@12
|
1
|
jbe@12
|
2 CREATE OR REPLACE FUNCTION ekey_point_in_dummy(cstring)
|
jbe@12
|
3 RETURNS ekey_point
|
jbe@12
|
4 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
5 AS '$libdir/latlon-v0003', 'pgl_notimpl';
|
jbe@12
|
6
|
jbe@12
|
7 CREATE OR REPLACE FUNCTION ekey_point_out_dummy(ekey_point)
|
jbe@12
|
8 RETURNS cstring
|
jbe@12
|
9 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
10 AS '$libdir/latlon-v0003', 'pgl_notimpl';
|
jbe@12
|
11
|
jbe@12
|
12 CREATE OR REPLACE FUNCTION ekey_area_in_dummy(cstring)
|
jbe@12
|
13 RETURNS ekey_area
|
jbe@12
|
14 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
15 AS '$libdir/latlon-v0003', 'pgl_notimpl';
|
jbe@12
|
16
|
jbe@12
|
17 CREATE OR REPLACE FUNCTION ekey_area_out_dummy(ekey_area)
|
jbe@12
|
18 RETURNS cstring
|
jbe@12
|
19 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
20 AS '$libdir/latlon-v0003', 'pgl_notimpl';
|
jbe@12
|
21
|
jbe@12
|
22 CREATE OR REPLACE FUNCTION epoint_in(cstring)
|
jbe@12
|
23 RETURNS epoint
|
jbe@12
|
24 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
25 AS '$libdir/latlon-v0003', 'pgl_epoint_in';
|
jbe@12
|
26
|
jbe@12
|
27 CREATE OR REPLACE FUNCTION ebox_in(cstring)
|
jbe@12
|
28 RETURNS ebox
|
jbe@12
|
29 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
30 AS '$libdir/latlon-v0003', 'pgl_ebox_in';
|
jbe@12
|
31
|
jbe@12
|
32 CREATE OR REPLACE FUNCTION ecircle_in(cstring)
|
jbe@12
|
33 RETURNS ecircle
|
jbe@12
|
34 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
35 AS '$libdir/latlon-v0003', 'pgl_ecircle_in';
|
jbe@12
|
36
|
jbe@12
|
37 CREATE OR REPLACE FUNCTION ecluster_in(cstring)
|
jbe@12
|
38 RETURNS ecluster
|
jbe@12
|
39 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
40 AS '$libdir/latlon-v0003', 'pgl_ecluster_in';
|
jbe@12
|
41
|
jbe@12
|
42 CREATE OR REPLACE FUNCTION epoint_out(epoint)
|
jbe@12
|
43 RETURNS cstring
|
jbe@12
|
44 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
45 AS '$libdir/latlon-v0003', 'pgl_epoint_out';
|
jbe@12
|
46
|
jbe@12
|
47 CREATE OR REPLACE FUNCTION ebox_out(ebox)
|
jbe@12
|
48 RETURNS cstring
|
jbe@12
|
49 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
50 AS '$libdir/latlon-v0003', 'pgl_ebox_out';
|
jbe@12
|
51
|
jbe@12
|
52 CREATE OR REPLACE FUNCTION ecircle_out(ecircle)
|
jbe@12
|
53 RETURNS cstring
|
jbe@12
|
54 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
55 AS '$libdir/latlon-v0003', 'pgl_ecircle_out';
|
jbe@12
|
56
|
jbe@12
|
57 CREATE OR REPLACE FUNCTION ecluster_out(ecluster)
|
jbe@12
|
58 RETURNS cstring
|
jbe@12
|
59 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
60 AS '$libdir/latlon-v0003', 'pgl_ecluster_out';
|
jbe@12
|
61
|
jbe@12
|
62 CREATE OR REPLACE FUNCTION epoint_recv(internal)
|
jbe@12
|
63 RETURNS epoint
|
jbe@12
|
64 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
65 AS '$libdir/latlon-v0003', 'pgl_epoint_recv';
|
jbe@12
|
66
|
jbe@12
|
67 CREATE OR REPLACE FUNCTION ebox_recv(internal)
|
jbe@12
|
68 RETURNS ebox
|
jbe@12
|
69 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
70 AS '$libdir/latlon-v0003', 'pgl_ebox_recv';
|
jbe@12
|
71
|
jbe@12
|
72 CREATE OR REPLACE FUNCTION ecircle_recv(internal)
|
jbe@12
|
73 RETURNS ecircle
|
jbe@12
|
74 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
75 AS '$libdir/latlon-v0003', 'pgl_ecircle_recv';
|
jbe@12
|
76
|
jbe@12
|
77 CREATE OR REPLACE FUNCTION epoint_send(epoint)
|
jbe@12
|
78 RETURNS bytea
|
jbe@12
|
79 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
80 AS '$libdir/latlon-v0003', 'pgl_epoint_send';
|
jbe@12
|
81
|
jbe@12
|
82 CREATE OR REPLACE FUNCTION ebox_send(ebox)
|
jbe@12
|
83 RETURNS bytea
|
jbe@12
|
84 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
85 AS '$libdir/latlon-v0003', 'pgl_ebox_send';
|
jbe@12
|
86
|
jbe@12
|
87 CREATE OR REPLACE FUNCTION ecircle_send(ecircle)
|
jbe@12
|
88 RETURNS bytea
|
jbe@12
|
89 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
90 AS '$libdir/latlon-v0003', 'pgl_ecircle_send';
|
jbe@12
|
91
|
jbe@12
|
92 CREATE OR REPLACE FUNCTION epoint_btree_lt(epoint, epoint)
|
jbe@12
|
93 RETURNS boolean
|
jbe@12
|
94 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
95 AS '$libdir/latlon-v0003', 'pgl_btree_epoint_lt';
|
jbe@12
|
96
|
jbe@12
|
97 CREATE OR REPLACE FUNCTION epoint_btree_le(epoint, epoint)
|
jbe@12
|
98 RETURNS boolean
|
jbe@12
|
99 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
100 AS '$libdir/latlon-v0003', 'pgl_btree_epoint_le';
|
jbe@12
|
101
|
jbe@12
|
102 CREATE OR REPLACE FUNCTION epoint_btree_eq(epoint, epoint)
|
jbe@12
|
103 RETURNS boolean
|
jbe@12
|
104 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
105 AS '$libdir/latlon-v0003', 'pgl_btree_epoint_eq';
|
jbe@12
|
106
|
jbe@12
|
107 CREATE OR REPLACE FUNCTION epoint_btree_ne(epoint, epoint)
|
jbe@12
|
108 RETURNS boolean
|
jbe@12
|
109 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
110 AS '$libdir/latlon-v0003', 'pgl_btree_epoint_ne';
|
jbe@12
|
111
|
jbe@12
|
112 CREATE OR REPLACE FUNCTION epoint_btree_ge(epoint, epoint)
|
jbe@12
|
113 RETURNS boolean
|
jbe@12
|
114 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
115 AS '$libdir/latlon-v0003', 'pgl_btree_epoint_ge';
|
jbe@12
|
116
|
jbe@12
|
117 CREATE OR REPLACE FUNCTION epoint_btree_gt(epoint, epoint)
|
jbe@12
|
118 RETURNS boolean
|
jbe@12
|
119 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
120 AS '$libdir/latlon-v0003', 'pgl_btree_epoint_gt';
|
jbe@12
|
121
|
jbe@12
|
122 CREATE OR REPLACE FUNCTION epoint_btree_cmp(epoint, epoint)
|
jbe@12
|
123 RETURNS int4
|
jbe@12
|
124 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
125 AS '$libdir/latlon-v0003', 'pgl_btree_epoint_cmp';
|
jbe@12
|
126
|
jbe@12
|
127 CREATE OR REPLACE FUNCTION ebox_btree_lt(ebox, ebox)
|
jbe@12
|
128 RETURNS boolean
|
jbe@12
|
129 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
130 AS '$libdir/latlon-v0003', 'pgl_btree_ebox_lt';
|
jbe@12
|
131
|
jbe@12
|
132 CREATE OR REPLACE FUNCTION ebox_btree_le(ebox, ebox)
|
jbe@12
|
133 RETURNS boolean
|
jbe@12
|
134 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
135 AS '$libdir/latlon-v0003', 'pgl_btree_ebox_le';
|
jbe@12
|
136
|
jbe@12
|
137 CREATE OR REPLACE FUNCTION ebox_btree_eq(ebox, ebox)
|
jbe@12
|
138 RETURNS boolean
|
jbe@12
|
139 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
140 AS '$libdir/latlon-v0003', 'pgl_btree_ebox_eq';
|
jbe@12
|
141
|
jbe@12
|
142 CREATE OR REPLACE FUNCTION ebox_btree_ne(ebox, ebox)
|
jbe@12
|
143 RETURNS boolean
|
jbe@12
|
144 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
145 AS '$libdir/latlon-v0003', 'pgl_btree_ebox_ne';
|
jbe@12
|
146
|
jbe@12
|
147 CREATE OR REPLACE FUNCTION ebox_btree_ge(ebox, ebox)
|
jbe@12
|
148 RETURNS boolean
|
jbe@12
|
149 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
150 AS '$libdir/latlon-v0003', 'pgl_btree_ebox_ge';
|
jbe@12
|
151
|
jbe@12
|
152 CREATE OR REPLACE FUNCTION ebox_btree_gt(ebox, ebox)
|
jbe@12
|
153 RETURNS boolean
|
jbe@12
|
154 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
155 AS '$libdir/latlon-v0003', 'pgl_btree_ebox_gt';
|
jbe@12
|
156
|
jbe@12
|
157 CREATE OR REPLACE FUNCTION ebox_btree_cmp(ebox, ebox)
|
jbe@12
|
158 RETURNS int4
|
jbe@12
|
159 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
160 AS '$libdir/latlon-v0003', 'pgl_btree_ebox_cmp';
|
jbe@12
|
161
|
jbe@12
|
162 CREATE OR REPLACE FUNCTION ecircle_btree_lt(ecircle, ecircle)
|
jbe@12
|
163 RETURNS boolean
|
jbe@12
|
164 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
165 AS '$libdir/latlon-v0003', 'pgl_btree_ecircle_lt';
|
jbe@12
|
166
|
jbe@12
|
167 CREATE OR REPLACE FUNCTION ecircle_btree_le(ecircle, ecircle)
|
jbe@12
|
168 RETURNS boolean
|
jbe@12
|
169 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
170 AS '$libdir/latlon-v0003', 'pgl_btree_ecircle_le';
|
jbe@12
|
171
|
jbe@12
|
172 CREATE OR REPLACE FUNCTION ecircle_btree_eq(ecircle, ecircle)
|
jbe@12
|
173 RETURNS boolean
|
jbe@12
|
174 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
175 AS '$libdir/latlon-v0003', 'pgl_btree_ecircle_eq';
|
jbe@12
|
176
|
jbe@12
|
177 CREATE OR REPLACE FUNCTION ecircle_btree_ne(ecircle, ecircle)
|
jbe@12
|
178 RETURNS boolean
|
jbe@12
|
179 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
180 AS '$libdir/latlon-v0003', 'pgl_btree_ecircle_ne';
|
jbe@12
|
181
|
jbe@12
|
182 CREATE OR REPLACE FUNCTION ecircle_btree_ge(ecircle, ecircle)
|
jbe@12
|
183 RETURNS boolean
|
jbe@12
|
184 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
185 AS '$libdir/latlon-v0003', 'pgl_btree_ecircle_ge';
|
jbe@12
|
186
|
jbe@12
|
187 CREATE OR REPLACE FUNCTION ecircle_btree_gt(ecircle, ecircle)
|
jbe@12
|
188 RETURNS boolean
|
jbe@12
|
189 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
190 AS '$libdir/latlon-v0003', 'pgl_btree_ecircle_gt';
|
jbe@12
|
191
|
jbe@12
|
192 CREATE OR REPLACE FUNCTION ecircle_btree_cmp(ecircle, ecircle)
|
jbe@12
|
193 RETURNS int4
|
jbe@12
|
194 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
195 AS '$libdir/latlon-v0003', 'pgl_btree_ecircle_cmp';
|
jbe@12
|
196
|
jbe@12
|
197 CREATE OR REPLACE FUNCTION cast_epoint_to_ebox(epoint)
|
jbe@12
|
198 RETURNS ebox
|
jbe@12
|
199 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
200 AS '$libdir/latlon-v0003', 'pgl_epoint_to_ebox';
|
jbe@12
|
201
|
jbe@12
|
202 CREATE OR REPLACE FUNCTION cast_epoint_to_ecircle(epoint)
|
jbe@12
|
203 RETURNS ecircle
|
jbe@12
|
204 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
205 AS '$libdir/latlon-v0003', 'pgl_epoint_to_ecircle';
|
jbe@12
|
206
|
jbe@12
|
207 CREATE OR REPLACE FUNCTION cast_epoint_to_ecluster(epoint)
|
jbe@12
|
208 RETURNS ecluster
|
jbe@12
|
209 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
210 AS '$libdir/latlon-v0003', 'pgl_epoint_to_ecluster';
|
jbe@12
|
211
|
jbe@12
|
212 CREATE OR REPLACE FUNCTION cast_ebox_to_ecluster(ebox)
|
jbe@12
|
213 RETURNS ecluster
|
jbe@12
|
214 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
215 AS '$libdir/latlon-v0003', 'pgl_ebox_to_ecluster';
|
jbe@12
|
216
|
jbe@12
|
217 CREATE OR REPLACE FUNCTION epoint(float8, float8)
|
jbe@12
|
218 RETURNS epoint
|
jbe@12
|
219 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
220 AS '$libdir/latlon-v0003', 'pgl_create_epoint';
|
jbe@12
|
221
|
jbe@12
|
222 CREATE OR REPLACE FUNCTION empty_ebox()
|
jbe@12
|
223 RETURNS ebox
|
jbe@12
|
224 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
225 AS '$libdir/latlon-v0003', 'pgl_create_empty_ebox';
|
jbe@12
|
226
|
jbe@12
|
227 CREATE OR REPLACE FUNCTION ebox(float8, float8, float8, float8)
|
jbe@12
|
228 RETURNS ebox
|
jbe@12
|
229 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
230 AS '$libdir/latlon-v0003', 'pgl_create_ebox';
|
jbe@12
|
231
|
jbe@12
|
232 CREATE OR REPLACE FUNCTION ebox(epoint, epoint)
|
jbe@12
|
233 RETURNS ebox
|
jbe@12
|
234 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
235 AS '$libdir/latlon-v0003', 'pgl_create_ebox_from_epoints';
|
jbe@12
|
236
|
jbe@12
|
237 CREATE OR REPLACE FUNCTION ecircle(float8, float8, float8)
|
jbe@12
|
238 RETURNS ecircle
|
jbe@12
|
239 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
240 AS '$libdir/latlon-v0003', 'pgl_create_ecircle';
|
jbe@12
|
241
|
jbe@12
|
242 CREATE OR REPLACE FUNCTION ecircle(epoint, float8)
|
jbe@12
|
243 RETURNS ecircle
|
jbe@12
|
244 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
245 AS '$libdir/latlon-v0003', 'pgl_create_ecircle_from_epoint';
|
jbe@12
|
246
|
jbe@12
|
247 CREATE OR REPLACE FUNCTION latitude(epoint)
|
jbe@12
|
248 RETURNS float8
|
jbe@12
|
249 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
250 AS '$libdir/latlon-v0003', 'pgl_epoint_lat';
|
jbe@12
|
251
|
jbe@12
|
252 CREATE OR REPLACE FUNCTION longitude(epoint)
|
jbe@12
|
253 RETURNS float8
|
jbe@12
|
254 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
255 AS '$libdir/latlon-v0003', 'pgl_epoint_lon';
|
jbe@12
|
256
|
jbe@12
|
257 CREATE OR REPLACE FUNCTION min_latitude(ebox)
|
jbe@12
|
258 RETURNS float8
|
jbe@12
|
259 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
260 AS '$libdir/latlon-v0003', 'pgl_ebox_lat_min';
|
jbe@12
|
261
|
jbe@12
|
262 CREATE OR REPLACE FUNCTION max_latitude(ebox)
|
jbe@12
|
263 RETURNS float8
|
jbe@12
|
264 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
265 AS '$libdir/latlon-v0003', 'pgl_ebox_lat_max';
|
jbe@12
|
266
|
jbe@12
|
267 CREATE OR REPLACE FUNCTION min_longitude(ebox)
|
jbe@12
|
268 RETURNS float8
|
jbe@12
|
269 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
270 AS '$libdir/latlon-v0003', 'pgl_ebox_lon_min';
|
jbe@12
|
271
|
jbe@12
|
272 CREATE OR REPLACE FUNCTION max_longitude(ebox)
|
jbe@12
|
273 RETURNS float8
|
jbe@12
|
274 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
275 AS '$libdir/latlon-v0003', 'pgl_ebox_lon_max';
|
jbe@12
|
276
|
jbe@12
|
277 CREATE OR REPLACE FUNCTION center(ecircle)
|
jbe@12
|
278 RETURNS epoint
|
jbe@12
|
279 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
280 AS '$libdir/latlon-v0003', 'pgl_ecircle_center';
|
jbe@12
|
281
|
jbe@12
|
282 CREATE OR REPLACE FUNCTION radius(ecircle)
|
jbe@12
|
283 RETURNS float8
|
jbe@12
|
284 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
285 AS '$libdir/latlon-v0003', 'pgl_ecircle_radius';
|
jbe@12
|
286
|
jbe@12
|
287 CREATE OR REPLACE FUNCTION epoint_ebox_overlap_proc(epoint, ebox)
|
jbe@12
|
288 RETURNS boolean
|
jbe@12
|
289 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
290 AS '$libdir/latlon-v0003', 'pgl_epoint_ebox_overlap';
|
jbe@12
|
291
|
jbe@12
|
292 CREATE OR REPLACE FUNCTION epoint_ecircle_overlap_proc(epoint, ecircle)
|
jbe@12
|
293 RETURNS boolean
|
jbe@12
|
294 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
295 AS '$libdir/latlon-v0003', 'pgl_epoint_ecircle_overlap';
|
jbe@12
|
296
|
jbe@12
|
297 CREATE OR REPLACE FUNCTION epoint_ecluster_overlap_proc(epoint, ecluster)
|
jbe@12
|
298 RETURNS boolean
|
jbe@12
|
299 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
300 AS '$libdir/latlon-v0003', 'pgl_epoint_ecluster_overlap';
|
jbe@12
|
301
|
jbe@12
|
302 CREATE OR REPLACE FUNCTION epoint_ecluster_may_overlap_proc(epoint, ecluster)
|
jbe@12
|
303 RETURNS boolean
|
jbe@12
|
304 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
305 AS '$libdir/latlon-v0003', 'pgl_epoint_ecluster_may_overlap';
|
jbe@12
|
306
|
jbe@12
|
307 CREATE OR REPLACE FUNCTION ebox_overlap_proc(ebox, ebox)
|
jbe@12
|
308 RETURNS boolean
|
jbe@12
|
309 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
310 AS '$libdir/latlon-v0003', 'pgl_ebox_overlap';
|
jbe@12
|
311
|
jbe@12
|
312 CREATE OR REPLACE FUNCTION ebox_ecircle_may_overlap_proc(ebox, ecircle)
|
jbe@12
|
313 RETURNS boolean
|
jbe@12
|
314 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
315 AS '$libdir/latlon-v0003', 'pgl_ebox_ecircle_may_overlap';
|
jbe@12
|
316
|
jbe@12
|
317 CREATE OR REPLACE FUNCTION ebox_ecluster_may_overlap_proc(ebox, ecluster)
|
jbe@12
|
318 RETURNS boolean
|
jbe@12
|
319 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
320 AS '$libdir/latlon-v0003', 'pgl_ebox_ecluster_may_overlap';
|
jbe@12
|
321
|
jbe@12
|
322 CREATE OR REPLACE FUNCTION ecircle_overlap_proc(ecircle, ecircle)
|
jbe@12
|
323 RETURNS boolean
|
jbe@12
|
324 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
325 AS '$libdir/latlon-v0003', 'pgl_ecircle_overlap';
|
jbe@12
|
326
|
jbe@12
|
327 CREATE OR REPLACE FUNCTION ecircle_ecluster_overlap_proc(ecircle, ecluster)
|
jbe@12
|
328 RETURNS boolean
|
jbe@12
|
329 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
330 AS '$libdir/latlon-v0003', 'pgl_ecircle_ecluster_overlap';
|
jbe@12
|
331
|
jbe@12
|
332 CREATE OR REPLACE FUNCTION ecircle_ecluster_may_overlap_proc(ecircle, ecluster)
|
jbe@12
|
333 RETURNS boolean
|
jbe@12
|
334 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
335 AS '$libdir/latlon-v0003', 'pgl_ecircle_ecluster_may_overlap';
|
jbe@12
|
336
|
jbe@12
|
337 CREATE OR REPLACE FUNCTION ecluster_may_overlap_proc(ecluster, ecluster)
|
jbe@12
|
338 RETURNS boolean
|
jbe@12
|
339 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
340 AS '$libdir/latlon-v0003', 'pgl_ecluster_may_overlap';
|
jbe@12
|
341
|
jbe@12
|
342 CREATE OPERATOR &&+ (
|
jbe@12
|
343 leftarg = epoint,
|
jbe@12
|
344 rightarg = ecluster,
|
jbe@12
|
345 procedure = epoint_ecluster_may_overlap_proc,
|
jbe@12
|
346 commutator = &&+,
|
jbe@12
|
347 restrict = areasel,
|
jbe@12
|
348 join = areajoinsel
|
jbe@12
|
349 );
|
jbe@12
|
350
|
jbe@12
|
351 CREATE FUNCTION epoint_ecluster_may_overlap_commutator(ecluster, epoint)
|
jbe@12
|
352 RETURNS boolean
|
jbe@12
|
353 LANGUAGE sql IMMUTABLE AS 'SELECT $2 &&+ $1';
|
jbe@12
|
354
|
jbe@12
|
355 CREATE OPERATOR &&+ (
|
jbe@12
|
356 leftarg = ecluster,
|
jbe@12
|
357 rightarg = epoint,
|
jbe@12
|
358 procedure = epoint_ecluster_may_overlap_commutator,
|
jbe@12
|
359 commutator = &&+,
|
jbe@12
|
360 restrict = areasel,
|
jbe@12
|
361 join = areajoinsel
|
jbe@12
|
362 );
|
jbe@12
|
363
|
jbe@12
|
364 CREATE OPERATOR &&+ (
|
jbe@12
|
365 leftarg = ebox,
|
jbe@12
|
366 rightarg = ecircle,
|
jbe@12
|
367 procedure = ebox_ecircle_may_overlap_proc,
|
jbe@12
|
368 commutator = &&+,
|
jbe@12
|
369 restrict = areasel,
|
jbe@12
|
370 join = areajoinsel
|
jbe@12
|
371 );
|
jbe@12
|
372
|
jbe@12
|
373 CREATE FUNCTION ebox_ecircle_may_overlap_commutator(ecircle, ebox)
|
jbe@12
|
374 RETURNS boolean
|
jbe@12
|
375 LANGUAGE sql IMMUTABLE AS 'SELECT $2 &&+ $1';
|
jbe@12
|
376
|
jbe@12
|
377 CREATE OPERATOR &&+ (
|
jbe@12
|
378 leftarg = ecircle,
|
jbe@12
|
379 rightarg = ebox,
|
jbe@12
|
380 procedure = ebox_ecircle_may_overlap_commutator,
|
jbe@12
|
381 commutator = &&+,
|
jbe@12
|
382 restrict = areasel,
|
jbe@12
|
383 join = areajoinsel
|
jbe@12
|
384 );
|
jbe@12
|
385
|
jbe@12
|
386 CREATE OPERATOR &&+ (
|
jbe@12
|
387 leftarg = ebox,
|
jbe@12
|
388 rightarg = ecluster,
|
jbe@12
|
389 procedure = ebox_ecluster_may_overlap_proc,
|
jbe@12
|
390 commutator = &&+,
|
jbe@12
|
391 restrict = areasel,
|
jbe@12
|
392 join = areajoinsel
|
jbe@12
|
393 );
|
jbe@12
|
394
|
jbe@12
|
395 CREATE FUNCTION ebox_ecluster_may_overlap_commutator(ecluster, ebox)
|
jbe@12
|
396 RETURNS boolean
|
jbe@12
|
397 LANGUAGE sql IMMUTABLE AS 'SELECT $2 &&+ $1';
|
jbe@12
|
398
|
jbe@12
|
399 CREATE OPERATOR &&+ (
|
jbe@12
|
400 leftarg = ecluster,
|
jbe@12
|
401 rightarg = ebox,
|
jbe@12
|
402 procedure = ebox_ecluster_may_overlap_commutator,
|
jbe@12
|
403 commutator = &&+,
|
jbe@12
|
404 restrict = areasel,
|
jbe@12
|
405 join = areajoinsel
|
jbe@12
|
406 );
|
jbe@12
|
407
|
jbe@12
|
408 CREATE OPERATOR &&+ (
|
jbe@12
|
409 leftarg = ecircle,
|
jbe@12
|
410 rightarg = ecluster,
|
jbe@12
|
411 procedure = ecircle_ecluster_may_overlap_proc,
|
jbe@12
|
412 commutator = &&+,
|
jbe@12
|
413 restrict = areasel,
|
jbe@12
|
414 join = areajoinsel
|
jbe@12
|
415 );
|
jbe@12
|
416
|
jbe@12
|
417 CREATE FUNCTION ecircle_ecluster_may_overlap_commutator(ecluster, ecircle)
|
jbe@12
|
418 RETURNS boolean
|
jbe@12
|
419 LANGUAGE sql IMMUTABLE AS 'SELECT $2 &&+ $1';
|
jbe@12
|
420
|
jbe@12
|
421 CREATE OPERATOR &&+ (
|
jbe@12
|
422 leftarg = ecluster,
|
jbe@12
|
423 rightarg = ecircle,
|
jbe@12
|
424 procedure = ecircle_ecluster_may_overlap_commutator,
|
jbe@12
|
425 commutator = &&+,
|
jbe@12
|
426 restrict = areasel,
|
jbe@12
|
427 join = areajoinsel
|
jbe@12
|
428 );
|
jbe@12
|
429
|
jbe@12
|
430 CREATE OPERATOR &&+ (
|
jbe@12
|
431 leftarg = ecluster,
|
jbe@12
|
432 rightarg = ecluster,
|
jbe@12
|
433 procedure = ecluster_may_overlap_proc,
|
jbe@12
|
434 commutator = &&+,
|
jbe@12
|
435 restrict = areasel,
|
jbe@12
|
436 join = areajoinsel
|
jbe@12
|
437 );
|
jbe@12
|
438
|
jbe@12
|
439 CREATE OR REPLACE FUNCTION epoint_distance_proc(epoint, epoint)
|
jbe@12
|
440 RETURNS float8
|
jbe@12
|
441 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
442 AS '$libdir/latlon-v0003', 'pgl_epoint_distance';
|
jbe@12
|
443
|
jbe@12
|
444 CREATE OR REPLACE FUNCTION epoint_ecircle_distance_proc(epoint, ecircle)
|
jbe@12
|
445 RETURNS float8
|
jbe@12
|
446 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
447 AS '$libdir/latlon-v0003', 'pgl_epoint_ecircle_distance';
|
jbe@12
|
448
|
jbe@12
|
449 CREATE OR REPLACE FUNCTION epoint_ecluster_distance_proc(epoint, ecluster)
|
jbe@12
|
450 RETURNS float8
|
jbe@12
|
451 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
452 AS '$libdir/latlon-v0003', 'pgl_epoint_ecluster_distance';
|
jbe@12
|
453
|
jbe@12
|
454 CREATE OR REPLACE FUNCTION ecircle_distance_proc(ecircle, ecircle)
|
jbe@12
|
455 RETURNS float8
|
jbe@12
|
456 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
457 AS '$libdir/latlon-v0003', 'pgl_ecircle_distance';
|
jbe@12
|
458
|
jbe@12
|
459 CREATE OR REPLACE FUNCTION ecircle_ecluster_distance_proc(ecircle, ecluster)
|
jbe@12
|
460 RETURNS float8
|
jbe@12
|
461 LANGUAGE C IMMUTABLE STRICT
|
jbe@12
|
462 AS '$libdir/latlon-v0003', 'pgl_ecircle_ecluster_distance';
|
jbe@12
|
463
|
jbe@12
|
464 CREATE OR REPLACE FUNCTION pgl_gist_consistent(internal, internal, smallint, oid, internal)
|
jbe@12
|
465 RETURNS boolean
|
jbe@12
|
466 LANGUAGE C STRICT
|
jbe@12
|
467 AS '$libdir/latlon-v0003', 'pgl_gist_consistent';
|
jbe@12
|
468
|
jbe@12
|
469 CREATE OR REPLACE FUNCTION pgl_gist_union(internal, internal)
|
jbe@12
|
470 RETURNS internal
|
jbe@12
|
471 LANGUAGE C STRICT
|
jbe@12
|
472 AS '$libdir/latlon-v0003', 'pgl_gist_union';
|
jbe@12
|
473
|
jbe@12
|
474 CREATE OR REPLACE FUNCTION pgl_gist_compress_epoint(internal)
|
jbe@12
|
475 RETURNS internal
|
jbe@12
|
476 LANGUAGE C STRICT
|
jbe@12
|
477 AS '$libdir/latlon-v0003', 'pgl_gist_compress_epoint';
|
jbe@12
|
478
|
jbe@12
|
479 CREATE OR REPLACE FUNCTION pgl_gist_compress_ecircle(internal)
|
jbe@12
|
480 RETURNS internal
|
jbe@12
|
481 LANGUAGE C STRICT
|
jbe@12
|
482 AS '$libdir/latlon-v0003', 'pgl_gist_compress_ecircle';
|
jbe@12
|
483
|
jbe@12
|
484 CREATE OR REPLACE FUNCTION pgl_gist_compress_ecluster(internal)
|
jbe@12
|
485 RETURNS internal
|
jbe@12
|
486 LANGUAGE C STRICT
|
jbe@12
|
487 AS '$libdir/latlon-v0003', 'pgl_gist_compress_ecluster';
|
jbe@12
|
488
|
jbe@12
|
489 CREATE OR REPLACE FUNCTION pgl_gist_decompress(internal)
|
jbe@12
|
490 RETURNS internal
|
jbe@12
|
491 LANGUAGE C STRICT
|
jbe@12
|
492 AS '$libdir/latlon-v0003', 'pgl_gist_decompress';
|
jbe@12
|
493
|
jbe@12
|
494 CREATE OR REPLACE FUNCTION pgl_gist_penalty(internal, internal, internal)
|
jbe@12
|
495 RETURNS internal
|
jbe@12
|
496 LANGUAGE C STRICT
|
jbe@12
|
497 AS '$libdir/latlon-v0003', 'pgl_gist_penalty';
|
jbe@12
|
498
|
jbe@12
|
499 CREATE OR REPLACE FUNCTION pgl_gist_picksplit(internal, internal)
|
jbe@12
|
500 RETURNS internal
|
jbe@12
|
501 LANGUAGE C STRICT
|
jbe@12
|
502 AS '$libdir/latlon-v0003', 'pgl_gist_picksplit';
|
jbe@12
|
503
|
jbe@12
|
504 CREATE OR REPLACE FUNCTION pgl_gist_same(internal, internal, internal)
|
jbe@12
|
505 RETURNS internal
|
jbe@12
|
506 LANGUAGE C STRICT
|
jbe@12
|
507 AS '$libdir/latlon-v0003', 'pgl_gist_same';
|
jbe@12
|
508
|
jbe@12
|
509 CREATE OR REPLACE FUNCTION pgl_gist_distance(internal, internal, smallint, oid)
|
jbe@12
|
510 RETURNS internal
|
jbe@12
|
511 LANGUAGE C STRICT
|
jbe@12
|
512 AS '$libdir/latlon-v0003', 'pgl_gist_distance';
|
jbe@12
|
513
|
jbe@12
|
514 DROP OPERATOR CLASS epoint_ops USING gist;
|
jbe@12
|
515 CREATE OPERATOR CLASS epoint_ops
|
jbe@12
|
516 DEFAULT FOR TYPE epoint USING gist AS
|
jbe@12
|
517 OPERATOR 11 = ,
|
jbe@12
|
518 OPERATOR 22 && (epoint, ebox),
|
jbe@12
|
519 OPERATOR 23 && (epoint, ecircle),
|
jbe@12
|
520 OPERATOR 24 && (epoint, ecluster),
|
jbe@12
|
521 OPERATOR 124 &&+ (epoint, ecluster),
|
jbe@12
|
522 OPERATOR 31 <-> (epoint, epoint) FOR ORDER BY float_ops,
|
jbe@12
|
523 OPERATOR 33 <-> (epoint, ecircle) FOR ORDER BY float_ops,
|
jbe@12
|
524 OPERATOR 34 <-> (epoint, ecluster) FOR ORDER BY float_ops,
|
jbe@12
|
525 FUNCTION 1 pgl_gist_consistent(internal, internal, smallint, oid, internal),
|
jbe@12
|
526 FUNCTION 2 pgl_gist_union(internal, internal),
|
jbe@12
|
527 FUNCTION 3 pgl_gist_compress_epoint(internal),
|
jbe@12
|
528 FUNCTION 4 pgl_gist_decompress(internal),
|
jbe@12
|
529 FUNCTION 5 pgl_gist_penalty(internal, internal, internal),
|
jbe@12
|
530 FUNCTION 6 pgl_gist_picksplit(internal, internal),
|
jbe@12
|
531 FUNCTION 7 pgl_gist_same(internal, internal, internal),
|
jbe@12
|
532 FUNCTION 8 pgl_gist_distance(internal, internal, smallint, oid),
|
jbe@12
|
533 STORAGE ekey_point;
|
jbe@12
|
534
|
jbe@12
|
535 DROP OPERATOR CLASS ecircle_ops USING gist;
|
jbe@12
|
536 CREATE OPERATOR CLASS ecircle_ops
|
jbe@12
|
537 DEFAULT FOR TYPE ecircle USING gist AS
|
jbe@12
|
538 OPERATOR 13 = ,
|
jbe@12
|
539 OPERATOR 21 && (ecircle, epoint),
|
jbe@12
|
540 OPERATOR 122 &&+ (ecircle, ebox),
|
jbe@12
|
541 OPERATOR 23 && (ecircle, ecircle),
|
jbe@12
|
542 OPERATOR 24 && (ecircle, ecluster),
|
jbe@12
|
543 OPERATOR 124 &&+ (ecircle, ecluster),
|
jbe@12
|
544 OPERATOR 31 <-> (ecircle, epoint) FOR ORDER BY float_ops,
|
jbe@12
|
545 OPERATOR 33 <-> (ecircle, ecircle) FOR ORDER BY float_ops,
|
jbe@12
|
546 OPERATOR 34 <-> (ecircle, ecluster) FOR ORDER BY float_ops,
|
jbe@12
|
547 FUNCTION 1 pgl_gist_consistent(internal, internal, smallint, oid, internal),
|
jbe@12
|
548 FUNCTION 2 pgl_gist_union(internal, internal),
|
jbe@12
|
549 FUNCTION 3 pgl_gist_compress_ecircle(internal),
|
jbe@12
|
550 FUNCTION 4 pgl_gist_decompress(internal),
|
jbe@12
|
551 FUNCTION 5 pgl_gist_penalty(internal, internal, internal),
|
jbe@12
|
552 FUNCTION 6 pgl_gist_picksplit(internal, internal),
|
jbe@12
|
553 FUNCTION 7 pgl_gist_same(internal, internal, internal),
|
jbe@12
|
554 FUNCTION 8 pgl_gist_distance(internal, internal, smallint, oid),
|
jbe@12
|
555 STORAGE ekey_area;
|
jbe@12
|
556
|
jbe@12
|
557 DROP OPERATOR CLASS ecluster_ops USING gist;
|
jbe@12
|
558 CREATE OPERATOR CLASS ecluster_ops
|
jbe@12
|
559 DEFAULT FOR TYPE ecluster USING gist AS
|
jbe@12
|
560 OPERATOR 21 && (ecluster, epoint),
|
jbe@12
|
561 OPERATOR 121 &&+ (ecluster, epoint),
|
jbe@12
|
562 OPERATOR 122 &&+ (ecluster, ebox),
|
jbe@12
|
563 OPERATOR 23 && (ecluster, ecircle),
|
jbe@12
|
564 OPERATOR 123 &&+ (ecluster, ecircle),
|
jbe@12
|
565 OPERATOR 124 &&+ (ecluster, ecluster),
|
jbe@12
|
566 FUNCTION 1 pgl_gist_consistent(internal, internal, smallint, oid, internal),
|
jbe@12
|
567 FUNCTION 2 pgl_gist_union(internal, internal),
|
jbe@12
|
568 FUNCTION 3 pgl_gist_compress_ecluster(internal),
|
jbe@12
|
569 FUNCTION 4 pgl_gist_decompress(internal),
|
jbe@12
|
570 FUNCTION 5 pgl_gist_penalty(internal, internal, internal),
|
jbe@12
|
571 FUNCTION 6 pgl_gist_picksplit(internal, internal),
|
jbe@12
|
572 FUNCTION 7 pgl_gist_same(internal, internal, internal),
|
jbe@12
|
573 FUNCTION 8 pgl_gist_distance(internal, internal, smallint, oid),
|
jbe@12
|
574 STORAGE ekey_area;
|
jbe@12
|
575
|