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