1 SET search_path = public;
3 CREATE OR REPLACE FUNCTION smlar(anyarray, anyarray)
5 AS 'MODULE_PATHNAME', 'arraysml'
6 LANGUAGE C STRICT IMMUTABLE;
8 CREATE OR REPLACE FUNCTION smlar(anyarray, anyarray, bool)
10 AS 'MODULE_PATHNAME', 'arraysmlw'
11 LANGUAGE C STRICT IMMUTABLE;
13 CREATE OR REPLACE FUNCTION smlar(anyarray, anyarray, text)
15 AS 'MODULE_PATHNAME', 'arraysml_func'
16 LANGUAGE C STRICT IMMUTABLE;
18 CREATE OR REPLACE FUNCTION set_smlar_limit(float4)
21 LANGUAGE C STRICT VOLATILE;
23 CREATE OR REPLACE FUNCTION show_smlar_limit()
26 LANGUAGE C STRICT STABLE;
28 CREATE OR REPLACE FUNCTION smlar_op(anyarray,anyarray)
30 AS 'MODULE_PATHNAME', 'arraysml_op'
31 LANGUAGE C STRICT STABLE;
44 CREATE OR REPLACE FUNCTION tsvector2textarray(tsvector)
46 AS 'MODULE_PATHNAME', 'tsvector2textarray'
47 LANGUAGE C STRICT IMMUTABLE;
49 CREATE OR REPLACE FUNCTION array_unique(anyarray)
51 AS 'MODULE_PATHNAME', 'array_unique'
52 LANGUAGE C STRICT IMMUTABLE;
54 CREATE OR REPLACE FUNCTION inarray(anyarray, anyelement)
56 AS 'MODULE_PATHNAME', 'inarray'
57 LANGUAGE C STRICT IMMUTABLE;
59 CREATE OR REPLACE FUNCTION inarray(anyarray, anyelement, float4, float4)
61 AS 'MODULE_PATHNAME', 'inarray'
62 LANGUAGE C STRICT IMMUTABLE;
66 CREATE OR REPLACE FUNCTION gsmlsign_in(cstring)
71 CREATE OR REPLACE FUNCTION gsmlsign_out(gsmlsign)
76 CREATE TYPE gsmlsign (
82 -- support functions for gist
83 CREATE OR REPLACE FUNCTION gsmlsign_consistent(gsmlsign,internal,int4)
88 CREATE OR REPLACE FUNCTION gsmlsign_compress(internal)
93 CREATE OR REPLACE FUNCTION gsmlsign_decompress(internal)
98 CREATE OR REPLACE FUNCTION gsmlsign_penalty(internal,internal,internal)
101 LANGUAGE C STRICT IMMUTABLE;
103 CREATE OR REPLACE FUNCTION gsmlsign_picksplit(internal, internal)
106 LANGUAGE C IMMUTABLE;
108 CREATE OR REPLACE FUNCTION gsmlsign_union(bytea, internal)
111 LANGUAGE C IMMUTABLE;
113 CREATE OR REPLACE FUNCTION gsmlsign_same(gsmlsign, gsmlsign, internal)
116 LANGUAGE C IMMUTABLE;
118 --create the operator classes for gist
120 CREATE OPERATOR CLASS _int2_sml_ops
121 FOR TYPE _int2 USING gist
123 OPERATOR 1 && (anyarray, anyarray),
124 OPERATOR 2 % (anyarray, anyarray),
125 FUNCTION 1 gsmlsign_consistent (gsmlsign, internal, int4),
126 FUNCTION 2 gsmlsign_union (bytea, internal),
127 FUNCTION 3 gsmlsign_compress (internal),
128 FUNCTION 4 gsmlsign_decompress (internal),
129 FUNCTION 5 gsmlsign_penalty (internal, internal, internal),
130 FUNCTION 6 gsmlsign_picksplit (internal, internal),
131 FUNCTION 7 gsmlsign_same (gsmlsign, gsmlsign, internal),
134 CREATE OPERATOR CLASS _int4_sml_ops
135 FOR TYPE _int4 USING gist
137 OPERATOR 1 && (anyarray, anyarray),
138 OPERATOR 2 % (anyarray, anyarray),
139 FUNCTION 1 gsmlsign_consistent (gsmlsign, internal, int4),
140 FUNCTION 2 gsmlsign_union (bytea, internal),
141 FUNCTION 3 gsmlsign_compress (internal),
142 FUNCTION 4 gsmlsign_decompress (internal),
143 FUNCTION 5 gsmlsign_penalty (internal, internal, internal),
144 FUNCTION 6 gsmlsign_picksplit (internal, internal),
145 FUNCTION 7 gsmlsign_same (gsmlsign, gsmlsign, internal),
148 CREATE OPERATOR CLASS _int8_sml_ops
149 FOR TYPE _int8 USING gist
151 OPERATOR 1 && (anyarray, anyarray),
152 OPERATOR 2 % (anyarray, anyarray),
153 FUNCTION 1 gsmlsign_consistent (gsmlsign, internal, int4),
154 FUNCTION 2 gsmlsign_union (bytea, internal),
155 FUNCTION 3 gsmlsign_compress (internal),
156 FUNCTION 4 gsmlsign_decompress (internal),
157 FUNCTION 5 gsmlsign_penalty (internal, internal, internal),
158 FUNCTION 6 gsmlsign_picksplit (internal, internal),
159 FUNCTION 7 gsmlsign_same (gsmlsign, gsmlsign, internal),
162 CREATE OPERATOR CLASS _float4_sml_ops
163 FOR TYPE _float4 USING gist
165 OPERATOR 1 && (anyarray, anyarray),
166 OPERATOR 2 % (anyarray, anyarray),
167 FUNCTION 1 gsmlsign_consistent (gsmlsign, internal, int4),
168 FUNCTION 2 gsmlsign_union (bytea, internal),
169 FUNCTION 3 gsmlsign_compress (internal),
170 FUNCTION 4 gsmlsign_decompress (internal),
171 FUNCTION 5 gsmlsign_penalty (internal, internal, internal),
172 FUNCTION 6 gsmlsign_picksplit (internal, internal),
173 FUNCTION 7 gsmlsign_same (gsmlsign, gsmlsign, internal),
176 CREATE OPERATOR CLASS _float8_sml_ops
177 FOR TYPE _float8 USING gist
179 OPERATOR 1 && (anyarray, anyarray),
180 OPERATOR 2 % (anyarray, anyarray),
181 FUNCTION 1 gsmlsign_consistent (gsmlsign, internal, int4),
182 FUNCTION 2 gsmlsign_union (bytea, internal),
183 FUNCTION 3 gsmlsign_compress (internal),
184 FUNCTION 4 gsmlsign_decompress (internal),
185 FUNCTION 5 gsmlsign_penalty (internal, internal, internal),
186 FUNCTION 6 gsmlsign_picksplit (internal, internal),
187 FUNCTION 7 gsmlsign_same (gsmlsign, gsmlsign, internal),
190 -- money type hasn't hash support
191 --CREATE OPERATOR CLASS _money_sml_ops
192 --FOR TYPE _money USING gist
194 -- OPERATOR 1 && (anyarray, anyarray),
195 -- OPERATOR 2 % (anyarray, anyarray),
196 -- FUNCTION 1 gsmlsign_consistent (gsmlsign, internal, int4),
197 -- FUNCTION 2 gsmlsign_union (bytea, internal),
198 -- FUNCTION 3 gsmlsign_compress (internal),
199 -- FUNCTION 4 gsmlsign_decompress (internal),
200 -- FUNCTION 5 gsmlsign_penalty (internal, internal, internal),
201 -- FUNCTION 6 gsmlsign_picksplit (internal, internal),
202 -- FUNCTION 7 gsmlsign_same (gsmlsign, gsmlsign, internal),
205 CREATE OPERATOR CLASS _oid_sml_ops
206 FOR TYPE _oid USING gist
208 OPERATOR 1 && (anyarray, anyarray),
209 OPERATOR 2 % (anyarray, anyarray),
210 FUNCTION 1 gsmlsign_consistent (gsmlsign, internal, int4),
211 FUNCTION 2 gsmlsign_union (bytea, internal),
212 FUNCTION 3 gsmlsign_compress (internal),
213 FUNCTION 4 gsmlsign_decompress (internal),
214 FUNCTION 5 gsmlsign_penalty (internal, internal, internal),
215 FUNCTION 6 gsmlsign_picksplit (internal, internal),
216 FUNCTION 7 gsmlsign_same (gsmlsign, gsmlsign, internal),
219 CREATE OPERATOR CLASS _timestamp_sml_ops
220 FOR TYPE _timestamp USING gist
222 OPERATOR 1 && (anyarray, anyarray),
223 OPERATOR 2 % (anyarray, anyarray),
224 FUNCTION 1 gsmlsign_consistent (gsmlsign, internal, int4),
225 FUNCTION 2 gsmlsign_union (bytea, internal),
226 FUNCTION 3 gsmlsign_compress (internal),
227 FUNCTION 4 gsmlsign_decompress (internal),
228 FUNCTION 5 gsmlsign_penalty (internal, internal, internal),
229 FUNCTION 6 gsmlsign_picksplit (internal, internal),
230 FUNCTION 7 gsmlsign_same (gsmlsign, gsmlsign, internal),
233 CREATE OPERATOR CLASS _timestamptz_sml_ops
234 FOR TYPE _timestamptz USING gist
236 OPERATOR 1 && (anyarray, anyarray),
237 OPERATOR 2 % (anyarray, anyarray),
238 FUNCTION 1 gsmlsign_consistent (gsmlsign, internal, int4),
239 FUNCTION 2 gsmlsign_union (bytea, internal),
240 FUNCTION 3 gsmlsign_compress (internal),
241 FUNCTION 4 gsmlsign_decompress (internal),
242 FUNCTION 5 gsmlsign_penalty (internal, internal, internal),
243 FUNCTION 6 gsmlsign_picksplit (internal, internal),
244 FUNCTION 7 gsmlsign_same (gsmlsign, gsmlsign, internal),
247 CREATE OPERATOR CLASS _time_sml_ops
248 FOR TYPE _time USING gist
250 OPERATOR 1 && (anyarray, anyarray),
251 OPERATOR 2 % (anyarray, anyarray),
252 FUNCTION 1 gsmlsign_consistent (gsmlsign, internal, int4),
253 FUNCTION 2 gsmlsign_union (bytea, internal),
254 FUNCTION 3 gsmlsign_compress (internal),
255 FUNCTION 4 gsmlsign_decompress (internal),
256 FUNCTION 5 gsmlsign_penalty (internal, internal, internal),
257 FUNCTION 6 gsmlsign_picksplit (internal, internal),
258 FUNCTION 7 gsmlsign_same (gsmlsign, gsmlsign, internal),
261 CREATE OPERATOR CLASS _timetz_sml_ops
262 FOR TYPE _timetz USING gist
264 OPERATOR 1 && (anyarray, anyarray),
265 OPERATOR 2 % (anyarray, anyarray),
266 FUNCTION 1 gsmlsign_consistent (gsmlsign, internal, int4),
267 FUNCTION 2 gsmlsign_union (bytea, internal),
268 FUNCTION 3 gsmlsign_compress (internal),
269 FUNCTION 4 gsmlsign_decompress (internal),
270 FUNCTION 5 gsmlsign_penalty (internal, internal, internal),
271 FUNCTION 6 gsmlsign_picksplit (internal, internal),
272 FUNCTION 7 gsmlsign_same (gsmlsign, gsmlsign, internal),
275 CREATE OPERATOR CLASS _date_sml_ops
276 FOR TYPE _date USING gist
278 OPERATOR 1 && (anyarray, anyarray),
279 OPERATOR 2 % (anyarray, anyarray),
280 FUNCTION 1 gsmlsign_consistent (gsmlsign, internal, int4),
281 FUNCTION 2 gsmlsign_union (bytea, internal),
282 FUNCTION 3 gsmlsign_compress (internal),
283 FUNCTION 4 gsmlsign_decompress (internal),
284 FUNCTION 5 gsmlsign_penalty (internal, internal, internal),
285 FUNCTION 6 gsmlsign_picksplit (internal, internal),
286 FUNCTION 7 gsmlsign_same (gsmlsign, gsmlsign, internal),
289 CREATE OPERATOR CLASS _interval_sml_ops
290 FOR TYPE _interval USING gist
292 OPERATOR 1 && (anyarray, anyarray),
293 OPERATOR 2 % (anyarray, anyarray),
294 FUNCTION 1 gsmlsign_consistent (gsmlsign, internal, int4),
295 FUNCTION 2 gsmlsign_union (bytea, internal),
296 FUNCTION 3 gsmlsign_compress (internal),
297 FUNCTION 4 gsmlsign_decompress (internal),
298 FUNCTION 5 gsmlsign_penalty (internal, internal, internal),
299 FUNCTION 6 gsmlsign_picksplit (internal, internal),
300 FUNCTION 7 gsmlsign_same (gsmlsign, gsmlsign, internal),
303 CREATE OPERATOR CLASS _macaddr_sml_ops
304 FOR TYPE _macaddr USING gist
306 OPERATOR 1 && (anyarray, anyarray),
307 OPERATOR 2 % (anyarray, anyarray),
308 FUNCTION 1 gsmlsign_consistent (gsmlsign, internal, int4),
309 FUNCTION 2 gsmlsign_union (bytea, internal),
310 FUNCTION 3 gsmlsign_compress (internal),
311 FUNCTION 4 gsmlsign_decompress (internal),
312 FUNCTION 5 gsmlsign_penalty (internal, internal, internal),
313 FUNCTION 6 gsmlsign_picksplit (internal, internal),
314 FUNCTION 7 gsmlsign_same (gsmlsign, gsmlsign, internal),
317 CREATE OPERATOR CLASS _inet_sml_ops
318 FOR TYPE _inet USING gist
320 OPERATOR 1 && (anyarray, anyarray),
321 OPERATOR 2 % (anyarray, anyarray),
322 FUNCTION 1 gsmlsign_consistent (gsmlsign, internal, int4),
323 FUNCTION 2 gsmlsign_union (bytea, internal),
324 FUNCTION 3 gsmlsign_compress (internal),
325 FUNCTION 4 gsmlsign_decompress (internal),
326 FUNCTION 5 gsmlsign_penalty (internal, internal, internal),
327 FUNCTION 6 gsmlsign_picksplit (internal, internal),
328 FUNCTION 7 gsmlsign_same (gsmlsign, gsmlsign, internal),
331 CREATE OPERATOR CLASS _cidr_sml_ops
332 FOR TYPE _cidr USING gist
334 OPERATOR 1 && (anyarray, anyarray),
335 OPERATOR 2 % (anyarray, anyarray),
336 FUNCTION 1 gsmlsign_consistent (gsmlsign, internal, int4),
337 FUNCTION 2 gsmlsign_union (bytea, internal),
338 FUNCTION 3 gsmlsign_compress (internal),
339 FUNCTION 4 gsmlsign_decompress (internal),
340 FUNCTION 5 gsmlsign_penalty (internal, internal, internal),
341 FUNCTION 6 gsmlsign_picksplit (internal, internal),
342 FUNCTION 7 gsmlsign_same (gsmlsign, gsmlsign, internal),
345 CREATE OPERATOR CLASS _text_sml_ops
346 FOR TYPE _text USING gist
348 OPERATOR 1 && (anyarray, anyarray),
349 OPERATOR 2 % (anyarray, anyarray),
350 FUNCTION 1 gsmlsign_consistent (gsmlsign, internal, int4),
351 FUNCTION 2 gsmlsign_union (bytea, internal),
352 FUNCTION 3 gsmlsign_compress (internal),
353 FUNCTION 4 gsmlsign_decompress (internal),
354 FUNCTION 5 gsmlsign_penalty (internal, internal, internal),
355 FUNCTION 6 gsmlsign_picksplit (internal, internal),
356 FUNCTION 7 gsmlsign_same (gsmlsign, gsmlsign, internal),
359 CREATE OPERATOR CLASS _varchar_sml_ops
360 FOR TYPE _varchar USING gist
362 OPERATOR 1 && (anyarray, anyarray),
363 OPERATOR 2 % (anyarray, anyarray),
364 FUNCTION 1 gsmlsign_consistent (gsmlsign, internal, int4),
365 FUNCTION 2 gsmlsign_union (bytea, internal),
366 FUNCTION 3 gsmlsign_compress (internal),
367 FUNCTION 4 gsmlsign_decompress (internal),
368 FUNCTION 5 gsmlsign_penalty (internal, internal, internal),
369 FUNCTION 6 gsmlsign_picksplit (internal, internal),
370 FUNCTION 7 gsmlsign_same (gsmlsign, gsmlsign, internal),
373 CREATE OPERATOR CLASS _char_sml_ops
374 FOR TYPE _char USING gist
376 OPERATOR 1 && (anyarray, anyarray),
377 OPERATOR 2 % (anyarray, anyarray),
378 FUNCTION 1 gsmlsign_consistent (gsmlsign, internal, int4),
379 FUNCTION 2 gsmlsign_union (bytea, internal),
380 FUNCTION 3 gsmlsign_compress (internal),
381 FUNCTION 4 gsmlsign_decompress (internal),
382 FUNCTION 5 gsmlsign_penalty (internal, internal, internal),
383 FUNCTION 6 gsmlsign_picksplit (internal, internal),
384 FUNCTION 7 gsmlsign_same (gsmlsign, gsmlsign, internal),
387 CREATE OPERATOR CLASS _bytea_sml_ops
388 FOR TYPE _bytea USING gist
390 OPERATOR 1 && (anyarray, anyarray),
391 OPERATOR 2 % (anyarray, anyarray),
392 FUNCTION 1 gsmlsign_consistent (gsmlsign, internal, int4),
393 FUNCTION 2 gsmlsign_union (bytea, internal),
394 FUNCTION 3 gsmlsign_compress (internal),
395 FUNCTION 4 gsmlsign_decompress (internal),
396 FUNCTION 5 gsmlsign_penalty (internal, internal, internal),
397 FUNCTION 6 gsmlsign_picksplit (internal, internal),
398 FUNCTION 7 gsmlsign_same (gsmlsign, gsmlsign, internal),
402 --CREATE OPERATOR CLASS _bit_sml_ops
403 --FOR TYPE _bit USING gist
405 -- OPERATOR 1 && (anyarray, anyarray),
406 -- OPERATOR 2 % (anyarray, anyarray),
407 -- FUNCTION 1 gsmlsign_consistent (gsmlsign, internal, int4),
408 -- FUNCTION 2 gsmlsign_union (bytea, internal),
409 -- FUNCTION 3 gsmlsign_compress (internal),
410 -- FUNCTION 4 gsmlsign_decompress (internal),
411 -- FUNCTION 5 gsmlsign_penalty (internal, internal, internal),
412 -- FUNCTION 6 gsmlsign_picksplit (internal, internal),
413 -- FUNCTION 7 gsmlsign_same (gsmlsign, gsmlsign, internal),
416 --CREATE OPERATOR CLASS _varbit_sml_ops
417 --FOR TYPE _varbit USING gist
419 -- OPERATOR 1 && (anyarray, anyarray),
420 -- OPERATOR 2 % (anyarray, anyarray),
421 -- FUNCTION 1 gsmlsign_consistent (gsmlsign, internal, int4),
422 -- FUNCTION 2 gsmlsign_union (bytea, internal),
423 -- FUNCTION 3 gsmlsign_compress (internal),
424 -- FUNCTION 4 gsmlsign_decompress (internal),
425 -- FUNCTION 5 gsmlsign_penalty (internal, internal, internal),
426 -- FUNCTION 6 gsmlsign_picksplit (internal, internal),
427 -- FUNCTION 7 gsmlsign_same (gsmlsign, gsmlsign, internal),
430 CREATE OPERATOR CLASS _numeric_sml_ops
431 FOR TYPE _numeric USING gist
433 OPERATOR 1 && (anyarray, anyarray),
434 OPERATOR 2 % (anyarray, anyarray),
435 FUNCTION 1 gsmlsign_consistent (gsmlsign, internal, int4),
436 FUNCTION 2 gsmlsign_union (bytea, internal),
437 FUNCTION 3 gsmlsign_compress (internal),
438 FUNCTION 4 gsmlsign_decompress (internal),
439 FUNCTION 5 gsmlsign_penalty (internal, internal, internal),
440 FUNCTION 6 gsmlsign_picksplit (internal, internal),
441 FUNCTION 7 gsmlsign_same (gsmlsign, gsmlsign, internal),
444 --gin support functions
445 CREATE OR REPLACE FUNCTION smlararrayextract(anyarray, internal)
448 LANGUAGE C IMMUTABLE;
450 CREATE OR REPLACE FUNCTION smlarqueryarrayextract(anyarray, internal, internal)
453 LANGUAGE C IMMUTABLE;
455 CREATE OR REPLACE FUNCTION smlararrayconsistent(internal, internal, anyarray)
458 LANGUAGE C IMMUTABLE;
462 CREATE OPERATOR CLASS _int2_sml_ops
463 FOR TYPE _int2 USING gin
465 OPERATOR 1 && (anyarray, anyarray),
466 OPERATOR 2 % (anyarray, anyarray),
467 FUNCTION 1 btint2cmp(int2,int2),
468 FUNCTION 2 smlararrayextract(anyarray, internal),
469 FUNCTION 3 smlarqueryarrayextract(anyarray, internal, internal),
470 FUNCTION 4 smlararrayconsistent(internal, internal, anyarray),
472 CREATE OPERATOR CLASS _int4_sml_ops
473 FOR TYPE _int4 USING gin
475 OPERATOR 1 && (anyarray, anyarray),
476 OPERATOR 2 % (anyarray, anyarray),
477 FUNCTION 1 btint4cmp(int4,int4),
478 FUNCTION 2 smlararrayextract(anyarray, internal),
479 FUNCTION 3 smlarqueryarrayextract(anyarray, internal, internal),
480 FUNCTION 4 smlararrayconsistent(internal, internal, anyarray),
483 CREATE OPERATOR CLASS _int8_sml_ops
484 FOR TYPE _int8 USING gin
486 OPERATOR 1 && (anyarray, anyarray),
487 OPERATOR 2 % (anyarray, anyarray),
488 FUNCTION 1 btint8cmp(int8,int8),
489 FUNCTION 2 smlararrayextract(anyarray, internal),
490 FUNCTION 3 smlarqueryarrayextract(anyarray, internal, internal),
491 FUNCTION 4 smlararrayconsistent(internal, internal, anyarray),
494 CREATE OPERATOR CLASS _float4_sml_ops
495 FOR TYPE _float4 USING gin
497 OPERATOR 1 && (anyarray, anyarray),
498 OPERATOR 2 % (anyarray, anyarray),
499 FUNCTION 1 btfloat4cmp(float4,float4),
500 FUNCTION 2 smlararrayextract(anyarray, internal),
501 FUNCTION 3 smlarqueryarrayextract(anyarray, internal, internal),
502 FUNCTION 4 smlararrayconsistent(internal, internal, anyarray),
505 CREATE OPERATOR CLASS _float8_sml_ops
506 FOR TYPE _float8 USING gin
508 OPERATOR 1 && (anyarray, anyarray),
509 OPERATOR 2 % (anyarray, anyarray),
510 FUNCTION 1 btfloat8cmp(float8,float8),
511 FUNCTION 2 smlararrayextract(anyarray, internal),
512 FUNCTION 3 smlarqueryarrayextract(anyarray, internal, internal),
513 FUNCTION 4 smlararrayconsistent(internal, internal, anyarray),
516 CREATE OPERATOR CLASS _money_sml_ops
517 FOR TYPE _money USING gin
519 OPERATOR 1 && (anyarray, anyarray),
520 OPERATOR 2 % (anyarray, anyarray),
521 FUNCTION 1 cash_cmp(money,money),
522 FUNCTION 2 smlararrayextract(anyarray, internal),
523 FUNCTION 3 smlarqueryarrayextract(anyarray, internal, internal),
524 FUNCTION 4 smlararrayconsistent(internal, internal, anyarray),
527 CREATE OPERATOR CLASS _oid_sml_ops
528 FOR TYPE _oid USING gin
530 OPERATOR 1 && (anyarray, anyarray),
531 OPERATOR 2 % (anyarray, anyarray),
532 FUNCTION 1 btoidcmp(oid,oid),
533 FUNCTION 2 smlararrayextract(anyarray, internal),
534 FUNCTION 3 smlarqueryarrayextract(anyarray, internal, internal),
535 FUNCTION 4 smlararrayconsistent(internal, internal, anyarray),
538 CREATE OPERATOR CLASS _timestamp_sml_ops
539 FOR TYPE _timestamp USING gin
541 OPERATOR 1 && (anyarray, anyarray),
542 OPERATOR 2 % (anyarray, anyarray),
543 FUNCTION 1 timestamp_cmp(timestamp,timestamp),
544 FUNCTION 2 smlararrayextract(anyarray, internal),
545 FUNCTION 3 smlarqueryarrayextract(anyarray, internal, internal),
546 FUNCTION 4 smlararrayconsistent(internal, internal, anyarray),
549 CREATE OPERATOR CLASS _timestamptz_sml_ops
550 FOR TYPE _timestamptz USING gin
552 OPERATOR 1 && (anyarray, anyarray),
553 OPERATOR 2 % (anyarray, anyarray),
554 FUNCTION 1 timestamptz_cmp(timestamptz,timestamptz),
555 FUNCTION 2 smlararrayextract(anyarray, internal),
556 FUNCTION 3 smlarqueryarrayextract(anyarray, internal, internal),
557 FUNCTION 4 smlararrayconsistent(internal, internal, anyarray),
560 CREATE OPERATOR CLASS _time_sml_ops
561 FOR TYPE _time USING gin
563 OPERATOR 1 && (anyarray, anyarray),
564 OPERATOR 2 % (anyarray, anyarray),
565 FUNCTION 1 time_cmp(time,time),
566 FUNCTION 2 smlararrayextract(anyarray, internal),
567 FUNCTION 3 smlarqueryarrayextract(anyarray, internal, internal),
568 FUNCTION 4 smlararrayconsistent(internal, internal, anyarray),
571 CREATE OPERATOR CLASS _timetz_sml_ops
572 FOR TYPE _timetz USING gin
574 OPERATOR 1 && (anyarray, anyarray),
575 OPERATOR 2 % (anyarray, anyarray),
576 FUNCTION 1 timetz_cmp(timetz,timetz),
577 FUNCTION 2 smlararrayextract(anyarray, internal),
578 FUNCTION 3 smlarqueryarrayextract(anyarray, internal, internal),
579 FUNCTION 4 smlararrayconsistent(internal, internal, anyarray),
582 CREATE OPERATOR CLASS _date_sml_ops
583 FOR TYPE _date USING gin
585 OPERATOR 1 && (anyarray, anyarray),
586 OPERATOR 2 % (anyarray, anyarray),
587 FUNCTION 1 date_cmp(date,date),
588 FUNCTION 2 smlararrayextract(anyarray, internal),
589 FUNCTION 3 smlarqueryarrayextract(anyarray, internal, internal),
590 FUNCTION 4 smlararrayconsistent(internal, internal, anyarray),
593 CREATE OPERATOR CLASS _interval_sml_ops
594 FOR TYPE _interval USING gin
596 OPERATOR 1 && (anyarray, anyarray),
597 OPERATOR 2 % (anyarray, anyarray),
598 FUNCTION 1 interval_cmp(interval,interval),
599 FUNCTION 2 smlararrayextract(anyarray, internal),
600 FUNCTION 3 smlarqueryarrayextract(anyarray, internal, internal),
601 FUNCTION 4 smlararrayconsistent(internal, internal, anyarray),
604 CREATE OPERATOR CLASS _macaddr_sml_ops
605 FOR TYPE _macaddr USING gin
607 OPERATOR 1 && (anyarray, anyarray),
608 OPERATOR 2 % (anyarray, anyarray),
609 FUNCTION 1 macaddr_cmp(macaddr,macaddr),
610 FUNCTION 2 smlararrayextract(anyarray, internal),
611 FUNCTION 3 smlarqueryarrayextract(anyarray, internal, internal),
612 FUNCTION 4 smlararrayconsistent(internal, internal, anyarray),
615 CREATE OPERATOR CLASS _inet_sml_ops
616 FOR TYPE _inet USING gin
618 OPERATOR 1 && (anyarray, anyarray),
619 OPERATOR 2 % (anyarray, anyarray),
620 FUNCTION 1 network_cmp(inet,inet),
621 FUNCTION 2 smlararrayextract(anyarray, internal),
622 FUNCTION 3 smlarqueryarrayextract(anyarray, internal, internal),
623 FUNCTION 4 smlararrayconsistent(internal, internal, anyarray),
626 CREATE OPERATOR CLASS _cidr_sml_ops
627 FOR TYPE _cidr USING gin
629 OPERATOR 1 && (anyarray, anyarray),
630 OPERATOR 2 % (anyarray, anyarray),
631 FUNCTION 1 network_cmp(inet,inet),
632 FUNCTION 2 smlararrayextract(anyarray, internal),
633 FUNCTION 3 smlarqueryarrayextract(anyarray, internal, internal),
634 FUNCTION 4 smlararrayconsistent(internal, internal, anyarray),
637 CREATE OPERATOR CLASS _text_sml_ops
638 FOR TYPE _text USING gin
640 OPERATOR 1 && (anyarray, anyarray),
641 OPERATOR 2 % (anyarray, anyarray),
642 FUNCTION 1 bttextcmp(text,text),
643 FUNCTION 2 smlararrayextract(anyarray, internal),
644 FUNCTION 3 smlarqueryarrayextract(anyarray, internal, internal),
645 FUNCTION 4 smlararrayconsistent(internal, internal, anyarray),
648 CREATE OPERATOR CLASS _varchar_sml_ops
649 FOR TYPE _varchar USING gin
651 OPERATOR 1 && (anyarray, anyarray),
652 OPERATOR 2 % (anyarray, anyarray),
653 FUNCTION 1 bttextcmp(text,text),
654 FUNCTION 2 smlararrayextract(anyarray, internal),
655 FUNCTION 3 smlarqueryarrayextract(anyarray, internal, internal),
656 FUNCTION 4 smlararrayconsistent(internal, internal, anyarray),
659 CREATE OPERATOR CLASS _char_sml_ops
660 FOR TYPE "_char" USING gin
662 OPERATOR 1 && (anyarray, anyarray),
663 OPERATOR 2 % (anyarray, anyarray),
664 FUNCTION 1 btcharcmp("char","char"),
665 FUNCTION 2 smlararrayextract(anyarray, internal),
666 FUNCTION 3 smlarqueryarrayextract(anyarray, internal, internal),
667 FUNCTION 4 smlararrayconsistent(internal, internal, anyarray),
670 CREATE OPERATOR CLASS _bytea_sml_ops
671 FOR TYPE _bytea USING gin
673 OPERATOR 1 && (anyarray, anyarray),
674 OPERATOR 2 % (anyarray, anyarray),
675 FUNCTION 1 byteacmp(bytea,bytea),
676 FUNCTION 2 smlararrayextract(anyarray, internal),
677 FUNCTION 3 smlarqueryarrayextract(anyarray, internal, internal),
678 FUNCTION 4 smlararrayconsistent(internal, internal, anyarray),
681 CREATE OPERATOR CLASS _bit_sml_ops
682 FOR TYPE _bit USING gin
684 OPERATOR 1 && (anyarray, anyarray),
685 OPERATOR 2 % (anyarray, anyarray),
686 FUNCTION 1 bitcmp(bit,bit),
687 FUNCTION 2 smlararrayextract(anyarray, internal),
688 FUNCTION 3 smlarqueryarrayextract(anyarray, internal, internal),
689 FUNCTION 4 smlararrayconsistent(internal, internal, anyarray),
692 CREATE OPERATOR CLASS _varbit_sml_ops
693 FOR TYPE _varbit USING gin
695 OPERATOR 1 && (anyarray, anyarray),
696 OPERATOR 2 % (anyarray, anyarray),
697 FUNCTION 1 varbitcmp(varbit,varbit),
698 FUNCTION 2 smlararrayextract(anyarray, internal),
699 FUNCTION 3 smlarqueryarrayextract(anyarray, internal, internal),
700 FUNCTION 4 smlararrayconsistent(internal, internal, anyarray),
703 CREATE OPERATOR CLASS _numeric_sml_ops
704 FOR TYPE _numeric USING gin
706 OPERATOR 1 && (anyarray, anyarray),
707 OPERATOR 2 % (anyarray, anyarray),
708 FUNCTION 1 numeric_cmp(numeric,numeric),
709 FUNCTION 2 smlararrayextract(anyarray, internal),
710 FUNCTION 3 smlarqueryarrayextract(anyarray, internal, internal),
711 FUNCTION 4 smlararrayconsistent(internal, internal, anyarray),