Fix xslt_process() to ensure that it inserts a NULL terminator after the
[PostgreSQL.git] / contrib / isn / isn.sql.in
blobe766500120ddbc8a08bae6777f7d27e25983d038
1 /* $PostgreSQL$ */
3 -- Adjust this setting to control where the objects get created.
4 SET search_path = public;
6 -- Example:
7 -- create table test ( id isbn );
8 -- insert into test values('978-0-393-04002-9');
9 --
10 -- select isbn('978-0-393-04002-9');
11 -- select isbn13('0-901690-54-6');
15 -- Input and output functions and data types:
17 ---------------------------------------------------
18 CREATE OR REPLACE FUNCTION ean13_in(cstring)
19 RETURNS ean13
20 AS 'MODULE_PATHNAME'
21 LANGUAGE 'C'
22 IMMUTABLE STRICT;
23 CREATE OR REPLACE FUNCTION ean13_out(ean13)
24 RETURNS cstring
25 AS 'MODULE_PATHNAME'
26 LANGUAGE 'C'
27 IMMUTABLE STRICT;
28 CREATE TYPE ean13 (
29 INPUT = ean13_in,
30 OUTPUT = ean13_out,
31 LIKE = pg_catalog.int8
33 COMMENT ON TYPE ean13
34 IS 'International European Article Number (EAN13)';
36 CREATE OR REPLACE FUNCTION isbn13_in(cstring)
37 RETURNS isbn13
38 AS 'MODULE_PATHNAME', 'isbn_in'
39 LANGUAGE 'C'
40 IMMUTABLE STRICT;
41 CREATE OR REPLACE FUNCTION ean13_out(isbn13)
42 RETURNS cstring
43 AS 'MODULE_PATHNAME'
44 LANGUAGE 'C'
45 IMMUTABLE STRICT;
46 CREATE TYPE isbn13 (
47 INPUT = isbn13_in,
48 OUTPUT = ean13_out,
49 LIKE = pg_catalog.int8
51 COMMENT ON TYPE isbn13
52 IS 'International Standard Book Number 13 (ISBN13)';
54 CREATE OR REPLACE FUNCTION ismn13_in(cstring)
55 RETURNS ismn13
56 AS 'MODULE_PATHNAME', 'ismn_in'
57 LANGUAGE 'C'
58 IMMUTABLE STRICT;
59 CREATE OR REPLACE FUNCTION ean13_out(ismn13)
60 RETURNS cstring
61 AS 'MODULE_PATHNAME'
62 LANGUAGE 'C'
63 IMMUTABLE STRICT;
64 CREATE TYPE ismn13 (
65 INPUT = ismn13_in,
66 OUTPUT = ean13_out,
67 LIKE = pg_catalog.int8
69 COMMENT ON TYPE ismn13
70 IS 'International Standard Music Number 13 (ISMN13)';
72 CREATE OR REPLACE FUNCTION issn13_in(cstring)
73 RETURNS issn13
74 AS 'MODULE_PATHNAME', 'issn_in'
75 LANGUAGE 'C'
76 IMMUTABLE STRICT;
77 CREATE OR REPLACE FUNCTION ean13_out(issn13)
78 RETURNS cstring
79 AS 'MODULE_PATHNAME'
80 LANGUAGE 'C'
81 IMMUTABLE STRICT;
82 CREATE TYPE issn13 (
83 INPUT = issn13_in,
84 OUTPUT = ean13_out,
85 LIKE = pg_catalog.int8
87 COMMENT ON TYPE issn13
88 IS 'International Standard Serial Number 13 (ISSN13)';
90 -- Short format:
92 CREATE OR REPLACE FUNCTION isbn_in(cstring)
93 RETURNS isbn
94 AS 'MODULE_PATHNAME'
95 LANGUAGE 'C'
96 IMMUTABLE STRICT;
97 CREATE OR REPLACE FUNCTION isn_out(isbn)
98 RETURNS cstring
99 AS 'MODULE_PATHNAME'
100 LANGUAGE 'C'
101 IMMUTABLE STRICT;
102 CREATE TYPE isbn (
103 INPUT = isbn_in,
104 OUTPUT = isn_out,
105 LIKE = pg_catalog.int8
107 COMMENT ON TYPE isbn
108 IS 'International Standard Book Number (ISBN)';
110 CREATE OR REPLACE FUNCTION ismn_in(cstring)
111 RETURNS ismn
112 AS 'MODULE_PATHNAME'
113 LANGUAGE 'C'
114 IMMUTABLE STRICT;
115 CREATE OR REPLACE FUNCTION isn_out(ismn)
116 RETURNS cstring
117 AS 'MODULE_PATHNAME'
118 LANGUAGE 'C'
119 IMMUTABLE STRICT;
120 CREATE TYPE ismn (
121 INPUT = ismn_in,
122 OUTPUT = isn_out,
123 LIKE = pg_catalog.int8
125 COMMENT ON TYPE ismn
126 IS 'International Standard Music Number (ISMN)';
128 CREATE OR REPLACE FUNCTION issn_in(cstring)
129 RETURNS issn
130 AS 'MODULE_PATHNAME'
131 LANGUAGE 'C'
132 IMMUTABLE STRICT;
133 CREATE OR REPLACE FUNCTION isn_out(issn)
134 RETURNS cstring
135 AS 'MODULE_PATHNAME'
136 LANGUAGE 'C'
137 IMMUTABLE STRICT;
138 CREATE TYPE issn (
139 INPUT = issn_in,
140 OUTPUT = isn_out,
141 LIKE = pg_catalog.int8
143 COMMENT ON TYPE issn
144 IS 'International Standard Serial Number (ISSN)';
146 CREATE OR REPLACE FUNCTION upc_in(cstring)
147 RETURNS upc
148 AS 'MODULE_PATHNAME'
149 LANGUAGE 'C'
150 IMMUTABLE STRICT;
151 CREATE OR REPLACE FUNCTION isn_out(upc)
152 RETURNS cstring
153 AS 'MODULE_PATHNAME'
154 LANGUAGE 'C'
155 IMMUTABLE STRICT;
156 CREATE TYPE upc (
157 INPUT = upc_in,
158 OUTPUT = isn_out,
159 LIKE = pg_catalog.int8
161 COMMENT ON TYPE upc
162 IS 'Universal Product Code (UPC)';
165 -- Operator functions:
167 ---------------------------------------------------
168 -- EAN13:
169 CREATE OR REPLACE FUNCTION isnlt(ean13, ean13)
170 RETURNS boolean
171 AS 'int8lt'
172 LANGUAGE 'internal'
173 IMMUTABLE STRICT;
174 CREATE OR REPLACE FUNCTION isnle(ean13, ean13)
175 RETURNS boolean
176 AS 'int8le'
177 LANGUAGE 'internal'
178 IMMUTABLE STRICT;
179 CREATE OR REPLACE FUNCTION isneq(ean13, ean13)
180 RETURNS boolean
181 AS 'int8eq'
182 LANGUAGE 'internal'
183 IMMUTABLE STRICT;
184 CREATE OR REPLACE FUNCTION isnge(ean13, ean13)
185 RETURNS boolean
186 AS 'int8ge'
187 LANGUAGE 'internal'
188 IMMUTABLE STRICT;
189 CREATE OR REPLACE FUNCTION isngt(ean13, ean13)
190 RETURNS boolean
191 AS 'int8gt'
192 LANGUAGE 'internal'
193 IMMUTABLE STRICT;
194 CREATE OR REPLACE FUNCTION isnne(ean13, ean13)
195 RETURNS boolean
196 AS 'int8ne'
197 LANGUAGE 'internal'
198 IMMUTABLE STRICT;
200 CREATE OR REPLACE FUNCTION isnlt(ean13, isbn13)
201 RETURNS boolean
202 AS 'int8lt'
203 LANGUAGE 'internal'
204 IMMUTABLE STRICT;
205 CREATE OR REPLACE FUNCTION isnle(ean13, isbn13)
206 RETURNS boolean
207 AS 'int8le'
208 LANGUAGE 'internal'
209 IMMUTABLE STRICT;
210 CREATE OR REPLACE FUNCTION isneq(ean13, isbn13)
211 RETURNS boolean
212 AS 'int8eq'
213 LANGUAGE 'internal'
214 IMMUTABLE STRICT;
215 CREATE OR REPLACE FUNCTION isnge(ean13, isbn13)
216 RETURNS boolean
217 AS 'int8ge'
218 LANGUAGE 'internal'
219 IMMUTABLE STRICT;
220 CREATE OR REPLACE FUNCTION isngt(ean13, isbn13)
221 RETURNS boolean
222 AS 'int8gt'
223 LANGUAGE 'internal'
224 IMMUTABLE STRICT;
225 CREATE OR REPLACE FUNCTION isnne(ean13, isbn13)
226 RETURNS boolean
227 AS 'int8ne'
228 LANGUAGE 'internal'
229 IMMUTABLE STRICT;
231 CREATE OR REPLACE FUNCTION isnlt(ean13, ismn13)
232 RETURNS boolean
233 AS 'int8lt'
234 LANGUAGE 'internal'
235 IMMUTABLE STRICT;
236 CREATE OR REPLACE FUNCTION isnle(ean13, ismn13)
237 RETURNS boolean
238 AS 'int8le'
239 LANGUAGE 'internal'
240 IMMUTABLE STRICT;
241 CREATE OR REPLACE FUNCTION isneq(ean13, ismn13)
242 RETURNS boolean
243 AS 'int8eq'
244 LANGUAGE 'internal'
245 IMMUTABLE STRICT;
246 CREATE OR REPLACE FUNCTION isnge(ean13, ismn13)
247 RETURNS boolean
248 AS 'int8ge'
249 LANGUAGE 'internal'
250 IMMUTABLE STRICT;
251 CREATE OR REPLACE FUNCTION isngt(ean13, ismn13)
252 RETURNS boolean
253 AS 'int8gt'
254 LANGUAGE 'internal'
255 IMMUTABLE STRICT;
256 CREATE OR REPLACE FUNCTION isnne(ean13, ismn13)
257 RETURNS boolean
258 AS 'int8ne'
259 LANGUAGE 'internal'
260 IMMUTABLE STRICT;
262 CREATE OR REPLACE FUNCTION isnlt(ean13, issn13)
263 RETURNS boolean
264 AS 'int8lt'
265 LANGUAGE 'internal'
266 IMMUTABLE STRICT;
267 CREATE OR REPLACE FUNCTION isnle(ean13, issn13)
268 RETURNS boolean
269 AS 'int8le'
270 LANGUAGE 'internal'
271 IMMUTABLE STRICT;
272 CREATE OR REPLACE FUNCTION isneq(ean13, issn13)
273 RETURNS boolean
274 AS 'int8eq'
275 LANGUAGE 'internal'
276 IMMUTABLE STRICT;
277 CREATE OR REPLACE FUNCTION isnge(ean13, issn13)
278 RETURNS boolean
279 AS 'int8ge'
280 LANGUAGE 'internal'
281 IMMUTABLE STRICT;
282 CREATE OR REPLACE FUNCTION isngt(ean13, issn13)
283 RETURNS boolean
284 AS 'int8gt'
285 LANGUAGE 'internal'
286 IMMUTABLE STRICT;
287 CREATE OR REPLACE FUNCTION isnne(ean13, issn13)
288 RETURNS boolean
289 AS 'int8ne'
290 LANGUAGE 'internal'
291 IMMUTABLE STRICT;
293 CREATE OR REPLACE FUNCTION isnlt(ean13, isbn)
294 RETURNS boolean
295 AS 'int8lt'
296 LANGUAGE 'internal'
297 IMMUTABLE STRICT;
298 CREATE OR REPLACE FUNCTION isnle(ean13, isbn)
299 RETURNS boolean
300 AS 'int8le'
301 LANGUAGE 'internal'
302 IMMUTABLE STRICT;
303 CREATE OR REPLACE FUNCTION isneq(ean13, isbn)
304 RETURNS boolean
305 AS 'int8eq'
306 LANGUAGE 'internal'
307 IMMUTABLE STRICT;
308 CREATE OR REPLACE FUNCTION isnge(ean13, isbn)
309 RETURNS boolean
310 AS 'int8ge'
311 LANGUAGE 'internal'
312 IMMUTABLE STRICT;
313 CREATE OR REPLACE FUNCTION isngt(ean13, isbn)
314 RETURNS boolean
315 AS 'int8gt'
316 LANGUAGE 'internal'
317 IMMUTABLE STRICT;
318 CREATE OR REPLACE FUNCTION isnne(ean13, isbn)
319 RETURNS boolean
320 AS 'int8ne'
321 LANGUAGE 'internal'
322 IMMUTABLE STRICT;
324 CREATE OR REPLACE FUNCTION isnlt(ean13, ismn)
325 RETURNS boolean
326 AS 'int8lt'
327 LANGUAGE 'internal'
328 IMMUTABLE STRICT;
329 CREATE OR REPLACE FUNCTION isnle(ean13, ismn)
330 RETURNS boolean
331 AS 'int8le'
332 LANGUAGE 'internal'
333 IMMUTABLE STRICT;
334 CREATE OR REPLACE FUNCTION isneq(ean13, ismn)
335 RETURNS boolean
336 AS 'int8eq'
337 LANGUAGE 'internal'
338 IMMUTABLE STRICT;
339 CREATE OR REPLACE FUNCTION isnge(ean13, ismn)
340 RETURNS boolean
341 AS 'int8ge'
342 LANGUAGE 'internal'
343 IMMUTABLE STRICT;
344 CREATE OR REPLACE FUNCTION isngt(ean13, ismn)
345 RETURNS boolean
346 AS 'int8gt'
347 LANGUAGE 'internal'
348 IMMUTABLE STRICT;
349 CREATE OR REPLACE FUNCTION isnne(ean13, ismn)
350 RETURNS boolean
351 AS 'int8ne'
352 LANGUAGE 'internal'
353 IMMUTABLE STRICT;
355 CREATE OR REPLACE FUNCTION isnlt(ean13, issn)
356 RETURNS boolean
357 AS 'int8lt'
358 LANGUAGE 'internal'
359 IMMUTABLE STRICT;
360 CREATE OR REPLACE FUNCTION isnle(ean13, issn)
361 RETURNS boolean
362 AS 'int8le'
363 LANGUAGE 'internal'
364 IMMUTABLE STRICT;
365 CREATE OR REPLACE FUNCTION isneq(ean13, issn)
366 RETURNS boolean
367 AS 'int8eq'
368 LANGUAGE 'internal'
369 IMMUTABLE STRICT;
370 CREATE OR REPLACE FUNCTION isnge(ean13, issn)
371 RETURNS boolean
372 AS 'int8ge'
373 LANGUAGE 'internal'
374 IMMUTABLE STRICT;
375 CREATE OR REPLACE FUNCTION isngt(ean13, issn)
376 RETURNS boolean
377 AS 'int8gt'
378 LANGUAGE 'internal'
379 IMMUTABLE STRICT;
380 CREATE OR REPLACE FUNCTION isnne(ean13, issn)
381 RETURNS boolean
382 AS 'int8ne'
383 LANGUAGE 'internal'
384 IMMUTABLE STRICT;
386 CREATE OR REPLACE FUNCTION isnlt(ean13, upc)
387 RETURNS boolean
388 AS 'int8lt'
389 LANGUAGE 'internal'
390 IMMUTABLE STRICT;
391 CREATE OR REPLACE FUNCTION isnle(ean13, upc)
392 RETURNS boolean
393 AS 'int8le'
394 LANGUAGE 'internal'
395 IMMUTABLE STRICT;
396 CREATE OR REPLACE FUNCTION isneq(ean13, upc)
397 RETURNS boolean
398 AS 'int8eq'
399 LANGUAGE 'internal'
400 IMMUTABLE STRICT;
401 CREATE OR REPLACE FUNCTION isnge(ean13, upc)
402 RETURNS boolean
403 AS 'int8ge'
404 LANGUAGE 'internal'
405 IMMUTABLE STRICT;
406 CREATE OR REPLACE FUNCTION isngt(ean13, upc)
407 RETURNS boolean
408 AS 'int8gt'
409 LANGUAGE 'internal'
410 IMMUTABLE STRICT;
411 CREATE OR REPLACE FUNCTION isnne(ean13, upc)
412 RETURNS boolean
413 AS 'int8ne'
414 LANGUAGE 'internal'
415 IMMUTABLE STRICT;
417 ---------------------------------------------------
418 -- ISBN13:
419 CREATE OR REPLACE FUNCTION isnlt(isbn13, isbn13)
420 RETURNS boolean
421 AS 'int8lt'
422 LANGUAGE 'internal'
423 IMMUTABLE STRICT;
424 CREATE OR REPLACE FUNCTION isnle(isbn13, isbn13)
425 RETURNS boolean
426 AS 'int8le'
427 LANGUAGE 'internal'
428 IMMUTABLE STRICT;
429 CREATE OR REPLACE FUNCTION isneq(isbn13, isbn13)
430 RETURNS boolean
431 AS 'int8eq'
432 LANGUAGE 'internal'
433 IMMUTABLE STRICT;
434 CREATE OR REPLACE FUNCTION isnge(isbn13, isbn13)
435 RETURNS boolean
436 AS 'int8ge'
437 LANGUAGE 'internal'
438 IMMUTABLE STRICT;
439 CREATE OR REPLACE FUNCTION isngt(isbn13, isbn13)
440 RETURNS boolean
441 AS 'int8gt'
442 LANGUAGE 'internal'
443 IMMUTABLE STRICT;
444 CREATE OR REPLACE FUNCTION isnne(isbn13, isbn13)
445 RETURNS boolean
446 AS 'int8ne'
447 LANGUAGE 'internal'
448 IMMUTABLE STRICT;
450 CREATE OR REPLACE FUNCTION isnlt(isbn13, isbn)
451 RETURNS boolean
452 AS 'int8lt'
453 LANGUAGE 'internal'
454 IMMUTABLE STRICT;
455 CREATE OR REPLACE FUNCTION isnle(isbn13, isbn)
456 RETURNS boolean
457 AS 'int8le'
458 LANGUAGE 'internal'
459 IMMUTABLE STRICT;
460 CREATE OR REPLACE FUNCTION isneq(isbn13, isbn)
461 RETURNS boolean
462 AS 'int8eq'
463 LANGUAGE 'internal'
464 IMMUTABLE STRICT;
465 CREATE OR REPLACE FUNCTION isnge(isbn13, isbn)
466 RETURNS boolean
467 AS 'int8ge'
468 LANGUAGE 'internal'
469 IMMUTABLE STRICT;
470 CREATE OR REPLACE FUNCTION isngt(isbn13, isbn)
471 RETURNS boolean
472 AS 'int8gt'
473 LANGUAGE 'internal'
474 IMMUTABLE STRICT;
475 CREATE OR REPLACE FUNCTION isnne(isbn13, isbn)
476 RETURNS boolean
477 AS 'int8ne'
478 LANGUAGE 'internal'
479 IMMUTABLE STRICT;
481 CREATE OR REPLACE FUNCTION isnlt(isbn13, ean13)
482 RETURNS boolean
483 AS 'int8lt'
484 LANGUAGE 'internal'
485 IMMUTABLE STRICT;
486 CREATE OR REPLACE FUNCTION isnle(isbn13, ean13)
487 RETURNS boolean
488 AS 'int8le'
489 LANGUAGE 'internal'
490 IMMUTABLE STRICT;
491 CREATE OR REPLACE FUNCTION isneq(isbn13, ean13)
492 RETURNS boolean
493 AS 'int8eq'
494 LANGUAGE 'internal'
495 IMMUTABLE STRICT;
496 CREATE OR REPLACE FUNCTION isnge(isbn13, ean13)
497 RETURNS boolean
498 AS 'int8ge'
499 LANGUAGE 'internal'
500 IMMUTABLE STRICT;
501 CREATE OR REPLACE FUNCTION isngt(isbn13, ean13)
502 RETURNS boolean
503 AS 'int8gt'
504 LANGUAGE 'internal'
505 IMMUTABLE STRICT;
506 CREATE OR REPLACE FUNCTION isnne(isbn13, ean13)
507 RETURNS boolean
508 AS 'int8ne'
509 LANGUAGE 'internal'
510 IMMUTABLE STRICT;
512 ---------------------------------------------------
513 -- ISBN:
514 CREATE OR REPLACE FUNCTION isnlt(isbn, isbn)
515 RETURNS boolean
516 AS 'int8lt'
517 LANGUAGE 'internal'
518 IMMUTABLE STRICT;
519 CREATE OR REPLACE FUNCTION isnle(isbn, isbn)
520 RETURNS boolean
521 AS 'int8le'
522 LANGUAGE 'internal'
523 IMMUTABLE STRICT;
524 CREATE OR REPLACE FUNCTION isneq(isbn, isbn)
525 RETURNS boolean
526 AS 'int8eq'
527 LANGUAGE 'internal'
528 IMMUTABLE STRICT;
529 CREATE OR REPLACE FUNCTION isnge(isbn, isbn)
530 RETURNS boolean
531 AS 'int8ge'
532 LANGUAGE 'internal'
533 IMMUTABLE STRICT;
534 CREATE OR REPLACE FUNCTION isngt(isbn, isbn)
535 RETURNS boolean
536 AS 'int8gt'
537 LANGUAGE 'internal'
538 IMMUTABLE STRICT;
539 CREATE OR REPLACE FUNCTION isnne(isbn, isbn)
540 RETURNS boolean
541 AS 'int8ne'
542 LANGUAGE 'internal'
543 IMMUTABLE STRICT;
545 CREATE OR REPLACE FUNCTION isnlt(isbn, isbn13)
546 RETURNS boolean
547 AS 'int8lt'
548 LANGUAGE 'internal'
549 IMMUTABLE STRICT;
550 CREATE OR REPLACE FUNCTION isnle(isbn, isbn13)
551 RETURNS boolean
552 AS 'int8le'
553 LANGUAGE 'internal'
554 IMMUTABLE STRICT;
555 CREATE OR REPLACE FUNCTION isneq(isbn, isbn13)
556 RETURNS boolean
557 AS 'int8eq'
558 LANGUAGE 'internal'
559 IMMUTABLE STRICT;
560 CREATE OR REPLACE FUNCTION isnge(isbn, isbn13)
561 RETURNS boolean
562 AS 'int8ge'
563 LANGUAGE 'internal'
564 IMMUTABLE STRICT;
565 CREATE OR REPLACE FUNCTION isngt(isbn, isbn13)
566 RETURNS boolean
567 AS 'int8gt'
568 LANGUAGE 'internal'
569 IMMUTABLE STRICT;
570 CREATE OR REPLACE FUNCTION isnne(isbn, isbn13)
571 RETURNS boolean
572 AS 'int8ne'
573 LANGUAGE 'internal'
574 IMMUTABLE STRICT;
576 CREATE OR REPLACE FUNCTION isnlt(isbn, ean13)
577 RETURNS boolean
578 AS 'int8lt'
579 LANGUAGE 'internal'
580 IMMUTABLE STRICT;
581 CREATE OR REPLACE FUNCTION isnle(isbn, ean13)
582 RETURNS boolean
583 AS 'int8le'
584 LANGUAGE 'internal'
585 IMMUTABLE STRICT;
586 CREATE OR REPLACE FUNCTION isneq(isbn, ean13)
587 RETURNS boolean
588 AS 'int8eq'
589 LANGUAGE 'internal'
590 IMMUTABLE STRICT;
591 CREATE OR REPLACE FUNCTION isnge(isbn, ean13)
592 RETURNS boolean
593 AS 'int8ge'
594 LANGUAGE 'internal'
595 IMMUTABLE STRICT;
596 CREATE OR REPLACE FUNCTION isngt(isbn, ean13)
597 RETURNS boolean
598 AS 'int8gt'
599 LANGUAGE 'internal'
600 IMMUTABLE STRICT;
601 CREATE OR REPLACE FUNCTION isnne(isbn, ean13)
602 RETURNS boolean
603 AS 'int8ne'
604 LANGUAGE 'internal'
605 IMMUTABLE STRICT;
607 ---------------------------------------------------
608 -- ISMN13:
609 CREATE OR REPLACE FUNCTION isnlt(ismn13, ismn13)
610 RETURNS boolean
611 AS 'int8lt'
612 LANGUAGE 'internal'
613 IMMUTABLE STRICT;
614 CREATE OR REPLACE FUNCTION isnle(ismn13, ismn13)
615 RETURNS boolean
616 AS 'int8le'
617 LANGUAGE 'internal'
618 IMMUTABLE STRICT;
619 CREATE OR REPLACE FUNCTION isneq(ismn13, ismn13)
620 RETURNS boolean
621 AS 'int8eq'
622 LANGUAGE 'internal'
623 IMMUTABLE STRICT;
624 CREATE OR REPLACE FUNCTION isnge(ismn13, ismn13)
625 RETURNS boolean
626 AS 'int8ge'
627 LANGUAGE 'internal'
628 IMMUTABLE STRICT;
629 CREATE OR REPLACE FUNCTION isngt(ismn13, ismn13)
630 RETURNS boolean
631 AS 'int8gt'
632 LANGUAGE 'internal'
633 IMMUTABLE STRICT;
634 CREATE OR REPLACE FUNCTION isnne(ismn13, ismn13)
635 RETURNS boolean
636 AS 'int8ne'
637 LANGUAGE 'internal'
638 IMMUTABLE STRICT;
640 CREATE OR REPLACE FUNCTION isnlt(ismn13, ismn)
641 RETURNS boolean
642 AS 'int8lt'
643 LANGUAGE 'internal'
644 IMMUTABLE STRICT;
645 CREATE OR REPLACE FUNCTION isnle(ismn13, ismn)
646 RETURNS boolean
647 AS 'int8le'
648 LANGUAGE 'internal'
649 IMMUTABLE STRICT;
650 CREATE OR REPLACE FUNCTION isneq(ismn13, ismn)
651 RETURNS boolean
652 AS 'int8eq'
653 LANGUAGE 'internal'
654 IMMUTABLE STRICT;
655 CREATE OR REPLACE FUNCTION isnge(ismn13, ismn)
656 RETURNS boolean
657 AS 'int8ge'
658 LANGUAGE 'internal'
659 IMMUTABLE STRICT;
660 CREATE OR REPLACE FUNCTION isngt(ismn13, ismn)
661 RETURNS boolean
662 AS 'int8gt'
663 LANGUAGE 'internal'
664 IMMUTABLE STRICT;
665 CREATE OR REPLACE FUNCTION isnne(ismn13, ismn)
666 RETURNS boolean
667 AS 'int8ne'
668 LANGUAGE 'internal'
669 IMMUTABLE STRICT;
671 CREATE OR REPLACE FUNCTION isnlt(ismn13, ean13)
672 RETURNS boolean
673 AS 'int8lt'
674 LANGUAGE 'internal'
675 IMMUTABLE STRICT;
676 CREATE OR REPLACE FUNCTION isnle(ismn13, ean13)
677 RETURNS boolean
678 AS 'int8le'
679 LANGUAGE 'internal'
680 IMMUTABLE STRICT;
681 CREATE OR REPLACE FUNCTION isneq(ismn13, ean13)
682 RETURNS boolean
683 AS 'int8eq'
684 LANGUAGE 'internal'
685 IMMUTABLE STRICT;
686 CREATE OR REPLACE FUNCTION isnge(ismn13, ean13)
687 RETURNS boolean
688 AS 'int8ge'
689 LANGUAGE 'internal'
690 IMMUTABLE STRICT;
691 CREATE OR REPLACE FUNCTION isngt(ismn13, ean13)
692 RETURNS boolean
693 AS 'int8gt'
694 LANGUAGE 'internal'
695 IMMUTABLE STRICT;
696 CREATE OR REPLACE FUNCTION isnne(ismn13, ean13)
697 RETURNS boolean
698 AS 'int8ne'
699 LANGUAGE 'internal'
700 IMMUTABLE STRICT;
702 ---------------------------------------------------
703 -- ISMN:
704 CREATE OR REPLACE FUNCTION isnlt(ismn, ismn)
705 RETURNS boolean
706 AS 'int8lt'
707 LANGUAGE 'internal'
708 IMMUTABLE STRICT;
709 CREATE OR REPLACE FUNCTION isnle(ismn, ismn)
710 RETURNS boolean
711 AS 'int8le'
712 LANGUAGE 'internal'
713 IMMUTABLE STRICT;
714 CREATE OR REPLACE FUNCTION isneq(ismn, ismn)
715 RETURNS boolean
716 AS 'int8eq'
717 LANGUAGE 'internal'
718 IMMUTABLE STRICT;
719 CREATE OR REPLACE FUNCTION isnge(ismn, ismn)
720 RETURNS boolean
721 AS 'int8ge'
722 LANGUAGE 'internal'
723 IMMUTABLE STRICT;
724 CREATE OR REPLACE FUNCTION isngt(ismn, ismn)
725 RETURNS boolean
726 AS 'int8gt'
727 LANGUAGE 'internal'
728 IMMUTABLE STRICT;
729 CREATE OR REPLACE FUNCTION isnne(ismn, ismn)
730 RETURNS boolean
731 AS 'int8ne'
732 LANGUAGE 'internal'
733 IMMUTABLE STRICT;
735 CREATE OR REPLACE FUNCTION isnlt(ismn, ismn13)
736 RETURNS boolean
737 AS 'int8lt'
738 LANGUAGE 'internal'
739 IMMUTABLE STRICT;
740 CREATE OR REPLACE FUNCTION isnle(ismn, ismn13)
741 RETURNS boolean
742 AS 'int8le'
743 LANGUAGE 'internal'
744 IMMUTABLE STRICT;
745 CREATE OR REPLACE FUNCTION isneq(ismn, ismn13)
746 RETURNS boolean
747 AS 'int8eq'
748 LANGUAGE 'internal'
749 IMMUTABLE STRICT;
750 CREATE OR REPLACE FUNCTION isnge(ismn, ismn13)
751 RETURNS boolean
752 AS 'int8ge'
753 LANGUAGE 'internal'
754 IMMUTABLE STRICT;
755 CREATE OR REPLACE FUNCTION isngt(ismn, ismn13)
756 RETURNS boolean
757 AS 'int8gt'
758 LANGUAGE 'internal'
759 IMMUTABLE STRICT;
760 CREATE OR REPLACE FUNCTION isnne(ismn, ismn13)
761 RETURNS boolean
762 AS 'int8ne'
763 LANGUAGE 'internal'
764 IMMUTABLE STRICT;
766 CREATE OR REPLACE FUNCTION isnlt(ismn, ean13)
767 RETURNS boolean
768 AS 'int8lt'
769 LANGUAGE 'internal'
770 IMMUTABLE STRICT;
771 CREATE OR REPLACE FUNCTION isnle(ismn, ean13)
772 RETURNS boolean
773 AS 'int8le'
774 LANGUAGE 'internal'
775 IMMUTABLE STRICT;
776 CREATE OR REPLACE FUNCTION isneq(ismn, ean13)
777 RETURNS boolean
778 AS 'int8eq'
779 LANGUAGE 'internal'
780 IMMUTABLE STRICT;
781 CREATE OR REPLACE FUNCTION isnge(ismn, ean13)
782 RETURNS boolean
783 AS 'int8ge'
784 LANGUAGE 'internal'
785 IMMUTABLE STRICT;
786 CREATE OR REPLACE FUNCTION isngt(ismn, ean13)
787 RETURNS boolean
788 AS 'int8gt'
789 LANGUAGE 'internal'
790 IMMUTABLE STRICT;
791 CREATE OR REPLACE FUNCTION isnne(ismn, ean13)
792 RETURNS boolean
793 AS 'int8ne'
794 LANGUAGE 'internal'
795 IMMUTABLE STRICT;
797 ---------------------------------------------------
798 -- ISSN13:
799 CREATE OR REPLACE FUNCTION isnlt(issn13, issn13)
800 RETURNS boolean
801 AS 'int8lt'
802 LANGUAGE 'internal'
803 IMMUTABLE STRICT;
804 CREATE OR REPLACE FUNCTION isnle(issn13, issn13)
805 RETURNS boolean
806 AS 'int8le'
807 LANGUAGE 'internal'
808 IMMUTABLE STRICT;
809 CREATE OR REPLACE FUNCTION isneq(issn13, issn13)
810 RETURNS boolean
811 AS 'int8eq'
812 LANGUAGE 'internal'
813 IMMUTABLE STRICT;
814 CREATE OR REPLACE FUNCTION isnge(issn13, issn13)
815 RETURNS boolean
816 AS 'int8ge'
817 LANGUAGE 'internal'
818 IMMUTABLE STRICT;
819 CREATE OR REPLACE FUNCTION isngt(issn13, issn13)
820 RETURNS boolean
821 AS 'int8gt'
822 LANGUAGE 'internal'
823 IMMUTABLE STRICT;
824 CREATE OR REPLACE FUNCTION isnne(issn13, issn13)
825 RETURNS boolean
826 AS 'int8ne'
827 LANGUAGE 'internal'
828 IMMUTABLE STRICT;
830 CREATE OR REPLACE FUNCTION isnlt(issn13, issn)
831 RETURNS boolean
832 AS 'int8lt'
833 LANGUAGE 'internal'
834 IMMUTABLE STRICT;
835 CREATE OR REPLACE FUNCTION isnle(issn13, issn)
836 RETURNS boolean
837 AS 'int8le'
838 LANGUAGE 'internal'
839 IMMUTABLE STRICT;
840 CREATE OR REPLACE FUNCTION isneq(issn13, issn)
841 RETURNS boolean
842 AS 'int8eq'
843 LANGUAGE 'internal'
844 IMMUTABLE STRICT;
845 CREATE OR REPLACE FUNCTION isnge(issn13, issn)
846 RETURNS boolean
847 AS 'int8ge'
848 LANGUAGE 'internal'
849 IMMUTABLE STRICT;
850 CREATE OR REPLACE FUNCTION isngt(issn13, issn)
851 RETURNS boolean
852 AS 'int8gt'
853 LANGUAGE 'internal'
854 IMMUTABLE STRICT;
855 CREATE OR REPLACE FUNCTION isnne(issn13, issn)
856 RETURNS boolean
857 AS 'int8ne'
858 LANGUAGE 'internal'
859 IMMUTABLE STRICT;
861 CREATE OR REPLACE FUNCTION isnlt(issn13, ean13)
862 RETURNS boolean
863 AS 'int8lt'
864 LANGUAGE 'internal'
865 IMMUTABLE STRICT;
866 CREATE OR REPLACE FUNCTION isnle(issn13, ean13)
867 RETURNS boolean
868 AS 'int8le'
869 LANGUAGE 'internal'
870 IMMUTABLE STRICT;
871 CREATE OR REPLACE FUNCTION isneq(issn13, ean13)
872 RETURNS boolean
873 AS 'int8eq'
874 LANGUAGE 'internal'
875 IMMUTABLE STRICT;
876 CREATE OR REPLACE FUNCTION isnge(issn13, ean13)
877 RETURNS boolean
878 AS 'int8ge'
879 LANGUAGE 'internal'
880 IMMUTABLE STRICT;
881 CREATE OR REPLACE FUNCTION isngt(issn13, ean13)
882 RETURNS boolean
883 AS 'int8gt'
884 LANGUAGE 'internal'
885 IMMUTABLE STRICT;
886 CREATE OR REPLACE FUNCTION isnne(issn13, ean13)
887 RETURNS boolean
888 AS 'int8ne'
889 LANGUAGE 'internal'
890 IMMUTABLE STRICT;
892 ---------------------------------------------------
893 -- ISSN:
894 CREATE OR REPLACE FUNCTION isnlt(issn, issn)
895 RETURNS boolean
896 AS 'int8lt'
897 LANGUAGE 'internal'
898 IMMUTABLE STRICT;
899 CREATE OR REPLACE FUNCTION isnle(issn, issn)
900 RETURNS boolean
901 AS 'int8le'
902 LANGUAGE 'internal'
903 IMMUTABLE STRICT;
904 CREATE OR REPLACE FUNCTION isneq(issn, issn)
905 RETURNS boolean
906 AS 'int8eq'
907 LANGUAGE 'internal'
908 IMMUTABLE STRICT;
909 CREATE OR REPLACE FUNCTION isnge(issn, issn)
910 RETURNS boolean
911 AS 'int8ge'
912 LANGUAGE 'internal'
913 IMMUTABLE STRICT;
914 CREATE OR REPLACE FUNCTION isngt(issn, issn)
915 RETURNS boolean
916 AS 'int8gt'
917 LANGUAGE 'internal'
918 IMMUTABLE STRICT;
919 CREATE OR REPLACE FUNCTION isnne(issn, issn)
920 RETURNS boolean
921 AS 'int8ne'
922 LANGUAGE 'internal'
923 IMMUTABLE STRICT;
925 CREATE OR REPLACE FUNCTION isnlt(issn, issn13)
926 RETURNS boolean
927 AS 'int8lt'
928 LANGUAGE 'internal'
929 IMMUTABLE STRICT;
930 CREATE OR REPLACE FUNCTION isnle(issn, issn13)
931 RETURNS boolean
932 AS 'int8le'
933 LANGUAGE 'internal'
934 IMMUTABLE STRICT;
935 CREATE OR REPLACE FUNCTION isneq(issn, issn13)
936 RETURNS boolean
937 AS 'int8eq'
938 LANGUAGE 'internal'
939 IMMUTABLE STRICT;
940 CREATE OR REPLACE FUNCTION isnge(issn, issn13)
941 RETURNS boolean
942 AS 'int8ge'
943 LANGUAGE 'internal'
944 IMMUTABLE STRICT;
945 CREATE OR REPLACE FUNCTION isngt(issn, issn13)
946 RETURNS boolean
947 AS 'int8gt'
948 LANGUAGE 'internal'
949 IMMUTABLE STRICT;
950 CREATE OR REPLACE FUNCTION isnne(issn, issn13)
951 RETURNS boolean
952 AS 'int8ne'
953 LANGUAGE 'internal'
954 IMMUTABLE STRICT;
956 CREATE OR REPLACE FUNCTION isnlt(issn, ean13)
957 RETURNS boolean
958 AS 'int8lt'
959 LANGUAGE 'internal'
960 IMMUTABLE STRICT;
961 CREATE OR REPLACE FUNCTION isnle(issn, ean13)
962 RETURNS boolean
963 AS 'int8le'
964 LANGUAGE 'internal'
965 IMMUTABLE STRICT;
966 CREATE OR REPLACE FUNCTION isneq(issn, ean13)
967 RETURNS boolean
968 AS 'int8eq'
969 LANGUAGE 'internal'
970 IMMUTABLE STRICT;
971 CREATE OR REPLACE FUNCTION isnge(issn, ean13)
972 RETURNS boolean
973 AS 'int8ge'
974 LANGUAGE 'internal'
975 IMMUTABLE STRICT;
976 CREATE OR REPLACE FUNCTION isngt(issn, ean13)
977 RETURNS boolean
978 AS 'int8gt'
979 LANGUAGE 'internal'
980 IMMUTABLE STRICT;
981 CREATE OR REPLACE FUNCTION isnne(issn, ean13)
982 RETURNS boolean
983 AS 'int8ne'
984 LANGUAGE 'internal'
985 IMMUTABLE STRICT;
987 ---------------------------------------------------
988 -- UPC:
989 CREATE OR REPLACE FUNCTION isnlt(upc, upc)
990 RETURNS boolean
991 AS 'int8lt'
992 LANGUAGE 'internal'
993 IMMUTABLE STRICT;
994 CREATE OR REPLACE FUNCTION isnle(upc, upc)
995 RETURNS boolean
996 AS 'int8le'
997 LANGUAGE 'internal'
998 IMMUTABLE STRICT;
999 CREATE OR REPLACE FUNCTION isneq(upc, upc)
1000 RETURNS boolean
1001 AS 'int8eq'
1002 LANGUAGE 'internal'
1003 IMMUTABLE STRICT;
1004 CREATE OR REPLACE FUNCTION isnge(upc, upc)
1005 RETURNS boolean
1006 AS 'int8ge'
1007 LANGUAGE 'internal'
1008 IMMUTABLE STRICT;
1009 CREATE OR REPLACE FUNCTION isngt(upc, upc)
1010 RETURNS boolean
1011 AS 'int8gt'
1012 LANGUAGE 'internal'
1013 IMMUTABLE STRICT;
1014 CREATE OR REPLACE FUNCTION isnne(upc, upc)
1015 RETURNS boolean
1016 AS 'int8ne'
1017 LANGUAGE 'internal'
1018 IMMUTABLE STRICT;
1020 CREATE OR REPLACE FUNCTION isnlt(upc, ean13)
1021 RETURNS boolean
1022 AS 'int8lt'
1023 LANGUAGE 'internal'
1024 IMMUTABLE STRICT;
1025 CREATE OR REPLACE FUNCTION isnle(upc, ean13)
1026 RETURNS boolean
1027 AS 'int8le'
1028 LANGUAGE 'internal'
1029 IMMUTABLE STRICT;
1030 CREATE OR REPLACE FUNCTION isneq(upc, ean13)
1031 RETURNS boolean
1032 AS 'int8eq'
1033 LANGUAGE 'internal'
1034 IMMUTABLE STRICT;
1035 CREATE OR REPLACE FUNCTION isnge(upc, ean13)
1036 RETURNS boolean
1037 AS 'int8ge'
1038 LANGUAGE 'internal'
1039 IMMUTABLE STRICT;
1040 CREATE OR REPLACE FUNCTION isngt(upc, ean13)
1041 RETURNS boolean
1042 AS 'int8gt'
1043 LANGUAGE 'internal'
1044 IMMUTABLE STRICT;
1045 CREATE OR REPLACE FUNCTION isnne(upc, ean13)
1046 RETURNS boolean
1047 AS 'int8ne'
1048 LANGUAGE 'internal'
1049 IMMUTABLE STRICT;
1052 -- Now the operators:
1056 -- EAN13 operators:
1058 ---------------------------------------------------
1059 CREATE OPERATOR < (
1060 PROCEDURE = isnlt,
1061 LEFTARG = ean13,
1062 RIGHTARG = ean13,
1063 COMMUTATOR = >,
1064 NEGATOR = >=,
1065 RESTRICT = scalarltsel,
1066 JOIN = scalarltjoinsel);
1067 CREATE OPERATOR <= (
1068 PROCEDURE = isnle,
1069 LEFTARG = ean13,
1070 RIGHTARG = ean13,
1071 COMMUTATOR = >=,
1072 NEGATOR = >,
1073 RESTRICT = scalarltsel,
1074 JOIN = scalarltjoinsel);
1075 CREATE OPERATOR = (
1076 PROCEDURE = isneq,
1077 LEFTARG = ean13,
1078 RIGHTARG = ean13,
1079 COMMUTATOR = =,
1080 NEGATOR = <>,
1081 RESTRICT = eqsel,
1082 JOIN = eqjoinsel,
1083 MERGES,
1084 HASHES);
1085 CREATE OPERATOR >= (
1086 PROCEDURE = isnge,
1087 LEFTARG = ean13,
1088 RIGHTARG = ean13,
1089 COMMUTATOR = <=,
1090 NEGATOR = <,
1091 RESTRICT = scalargtsel,
1092 JOIN = scalargtjoinsel );
1093 CREATE OPERATOR > (
1094 PROCEDURE = isngt,
1095 LEFTARG = ean13,
1096 RIGHTARG = ean13,
1097 COMMUTATOR = <,
1098 NEGATOR = <=,
1099 RESTRICT = scalargtsel,
1100 JOIN = scalargtjoinsel );
1101 CREATE OPERATOR <> (
1102 PROCEDURE = isnne,
1103 LEFTARG = ean13,
1104 RIGHTARG = ean13,
1105 COMMUTATOR = <>,
1106 NEGATOR = =,
1107 RESTRICT = neqsel,
1108 JOIN = neqjoinsel);
1110 CREATE OPERATOR < (
1111 PROCEDURE = isnlt,
1112 LEFTARG = ean13,
1113 RIGHTARG = isbn13,
1114 COMMUTATOR = >,
1115 NEGATOR = >=,
1116 RESTRICT = scalarltsel,
1117 JOIN = scalarltjoinsel);
1118 CREATE OPERATOR <= (
1119 PROCEDURE = isnle,
1120 LEFTARG = ean13,
1121 RIGHTARG = isbn13,
1122 COMMUTATOR = >=,
1123 NEGATOR = >,
1124 RESTRICT = scalarltsel,
1125 JOIN = scalarltjoinsel);
1126 CREATE OPERATOR = (
1127 PROCEDURE = isneq,
1128 LEFTARG = ean13,
1129 RIGHTARG = isbn13,
1130 COMMUTATOR = =,
1131 NEGATOR = <>,
1132 RESTRICT = eqsel,
1133 JOIN = eqjoinsel,
1134 MERGES,
1135 HASHES);
1136 CREATE OPERATOR >= (
1137 PROCEDURE = isnge,
1138 LEFTARG = ean13,
1139 RIGHTARG = isbn13,
1140 COMMUTATOR = <=,
1141 NEGATOR = <,
1142 RESTRICT = scalargtsel,
1143 JOIN = scalargtjoinsel );
1144 CREATE OPERATOR > (
1145 PROCEDURE = isngt,
1146 LEFTARG = ean13,
1147 RIGHTARG = isbn13,
1148 COMMUTATOR = <,
1149 NEGATOR = <=,
1150 RESTRICT = scalargtsel,
1151 JOIN = scalargtjoinsel );
1152 CREATE OPERATOR <> (
1153 PROCEDURE = isnne,
1154 LEFTARG = ean13,
1155 RIGHTARG = isbn13,
1156 COMMUTATOR = <>,
1157 NEGATOR = =,
1158 RESTRICT = neqsel,
1159 JOIN = neqjoinsel);
1161 CREATE OPERATOR < (
1162 PROCEDURE = isnlt,
1163 LEFTARG = isbn13,
1164 RIGHTARG = ean13,
1165 COMMUTATOR = >,
1166 NEGATOR = >=,
1167 RESTRICT = scalarltsel,
1168 JOIN = scalarltjoinsel);
1169 CREATE OPERATOR <= (
1170 PROCEDURE = isnle,
1171 LEFTARG = isbn13,
1172 RIGHTARG = ean13,
1173 COMMUTATOR = >=,
1174 NEGATOR = >,
1175 RESTRICT = scalarltsel,
1176 JOIN = scalarltjoinsel);
1177 CREATE OPERATOR = (
1178 PROCEDURE = isneq,
1179 LEFTARG = isbn13,
1180 RIGHTARG = ean13,
1181 COMMUTATOR = =,
1182 NEGATOR = <>,
1183 RESTRICT = eqsel,
1184 JOIN = eqjoinsel,
1185 MERGES,
1186 HASHES);
1187 CREATE OPERATOR >= (
1188 PROCEDURE = isnge,
1189 LEFTARG = isbn13,
1190 RIGHTARG = ean13,
1191 COMMUTATOR = <=,
1192 NEGATOR = <,
1193 RESTRICT = scalargtsel,
1194 JOIN = scalargtjoinsel );
1195 CREATE OPERATOR > (
1196 PROCEDURE = isngt,
1197 LEFTARG = isbn13,
1198 RIGHTARG = ean13,
1199 COMMUTATOR = <,
1200 NEGATOR = <=,
1201 RESTRICT = scalargtsel,
1202 JOIN = scalargtjoinsel );
1203 CREATE OPERATOR <> (
1204 PROCEDURE = isnne,
1205 LEFTARG = isbn13,
1206 RIGHTARG = ean13,
1207 COMMUTATOR = <>,
1208 NEGATOR = =,
1209 RESTRICT = neqsel,
1210 JOIN = neqjoinsel);
1212 CREATE OPERATOR < (
1213 PROCEDURE = isnlt,
1214 LEFTARG = ean13,
1215 RIGHTARG = ismn13,
1216 COMMUTATOR = >,
1217 NEGATOR = >=,
1218 RESTRICT = scalarltsel,
1219 JOIN = scalarltjoinsel);
1220 CREATE OPERATOR <= (
1221 PROCEDURE = isnle,
1222 LEFTARG = ean13,
1223 RIGHTARG = ismn13,
1224 COMMUTATOR = >=,
1225 NEGATOR = >,
1226 RESTRICT = scalarltsel,
1227 JOIN = scalarltjoinsel);
1228 CREATE OPERATOR = (
1229 PROCEDURE = isneq,
1230 LEFTARG = ean13,
1231 RIGHTARG = ismn13,
1232 COMMUTATOR = =,
1233 NEGATOR = <>,
1234 RESTRICT = eqsel,
1235 JOIN = eqjoinsel,
1236 MERGES,
1237 HASHES);
1238 CREATE OPERATOR >= (
1239 PROCEDURE = isnge,
1240 LEFTARG = ean13,
1241 RIGHTARG = ismn13,
1242 COMMUTATOR = <=,
1243 NEGATOR = <,
1244 RESTRICT = scalargtsel,
1245 JOIN = scalargtjoinsel);
1246 CREATE OPERATOR > (
1247 PROCEDURE = isngt,
1248 LEFTARG = ean13,
1249 RIGHTARG = ismn13,
1250 COMMUTATOR = <,
1251 NEGATOR = <=,
1252 RESTRICT = scalargtsel,
1253 JOIN = scalargtjoinsel);
1254 CREATE OPERATOR <> (
1255 PROCEDURE = isnne,
1256 LEFTARG = ean13,
1257 RIGHTARG = ismn13,
1258 COMMUTATOR = <>,
1259 NEGATOR = =,
1260 RESTRICT = neqsel,
1261 JOIN = neqjoinsel);
1263 CREATE OPERATOR < (
1264 PROCEDURE = isnlt,
1265 LEFTARG = ismn13,
1266 RIGHTARG = ean13,
1267 COMMUTATOR = >,
1268 NEGATOR = >=,
1269 RESTRICT = scalarltsel,
1270 JOIN = scalarltjoinsel);
1271 CREATE OPERATOR <= (
1272 PROCEDURE = isnle,
1273 LEFTARG = ismn13,
1274 RIGHTARG = ean13,
1275 COMMUTATOR = >=,
1276 NEGATOR = >,
1277 RESTRICT = scalarltsel,
1278 JOIN = scalarltjoinsel);
1279 CREATE OPERATOR = (
1280 PROCEDURE = isneq,
1281 LEFTARG = ismn13,
1282 RIGHTARG = ean13,
1283 COMMUTATOR = =,
1284 NEGATOR = <>,
1285 RESTRICT = eqsel,
1286 JOIN = eqjoinsel,
1287 MERGES,
1288 HASHES);
1289 CREATE OPERATOR >= (
1290 PROCEDURE = isnge,
1291 LEFTARG = ismn13,
1292 RIGHTARG = ean13,
1293 COMMUTATOR = <=,
1294 NEGATOR = <,
1295 RESTRICT = scalargtsel,
1296 JOIN = scalargtjoinsel );
1297 CREATE OPERATOR > (
1298 PROCEDURE = isngt,
1299 LEFTARG = ismn13,
1300 RIGHTARG = ean13,
1301 COMMUTATOR = <,
1302 NEGATOR = <=,
1303 RESTRICT = scalargtsel,
1304 JOIN = scalargtjoinsel );
1305 CREATE OPERATOR <> (
1306 PROCEDURE = isnne,
1307 LEFTARG = ismn13,
1308 RIGHTARG = ean13,
1309 COMMUTATOR = <>,
1310 NEGATOR = =,
1311 RESTRICT = neqsel,
1312 JOIN = neqjoinsel);
1314 CREATE OPERATOR < (
1315 PROCEDURE = isnlt,
1316 LEFTARG = ean13,
1317 RIGHTARG = issn13,
1318 COMMUTATOR = >,
1319 NEGATOR = >=,
1320 RESTRICT = scalarltsel,
1321 JOIN = scalarltjoinsel);
1322 CREATE OPERATOR <= (
1323 PROCEDURE = isnle,
1324 LEFTARG = ean13,
1325 RIGHTARG = issn13,
1326 COMMUTATOR = >=,
1327 NEGATOR = >,
1328 RESTRICT = scalarltsel,
1329 JOIN = scalarltjoinsel);
1330 CREATE OPERATOR = (
1331 PROCEDURE = isneq,
1332 LEFTARG = ean13,
1333 RIGHTARG = issn13,
1334 COMMUTATOR = =,
1335 NEGATOR = <>,
1336 RESTRICT = eqsel,
1337 JOIN = eqjoinsel,
1338 MERGES,
1339 HASHES);
1340 CREATE OPERATOR >= (
1341 PROCEDURE = isnge,
1342 LEFTARG = ean13,
1343 RIGHTARG = issn13,
1344 COMMUTATOR = <=,
1345 NEGATOR = <,
1346 RESTRICT = scalargtsel,
1347 JOIN = scalargtjoinsel);
1348 CREATE OPERATOR > (
1349 PROCEDURE = isngt,
1350 LEFTARG = ean13,
1351 RIGHTARG = issn13,
1352 COMMUTATOR = <,
1353 NEGATOR = <=,
1354 RESTRICT = scalargtsel,
1355 JOIN = scalargtjoinsel);
1356 CREATE OPERATOR <> (
1357 PROCEDURE = isnne,
1358 LEFTARG = ean13,
1359 RIGHTARG = issn13,
1360 COMMUTATOR = <>,
1361 NEGATOR = =,
1362 RESTRICT = neqsel,
1363 JOIN = neqjoinsel);
1365 CREATE OPERATOR < (
1366 PROCEDURE = isnlt,
1367 LEFTARG = ean13,
1368 RIGHTARG = isbn,
1369 COMMUTATOR = >,
1370 NEGATOR = >=,
1371 RESTRICT = scalarltsel,
1372 JOIN = scalarltjoinsel);
1373 CREATE OPERATOR <= (
1374 PROCEDURE = isnle,
1375 LEFTARG = ean13,
1376 RIGHTARG = isbn,
1377 COMMUTATOR = >=,
1378 NEGATOR = >,
1379 RESTRICT = scalarltsel,
1380 JOIN = scalarltjoinsel);
1381 CREATE OPERATOR = (
1382 PROCEDURE = isneq,
1383 LEFTARG = ean13,
1384 RIGHTARG = isbn,
1385 COMMUTATOR = =,
1386 NEGATOR = <>,
1387 RESTRICT = eqsel,
1388 JOIN = eqjoinsel,
1389 MERGES,
1390 HASHES);
1391 CREATE OPERATOR >= (
1392 PROCEDURE = isnge,
1393 LEFTARG = ean13,
1394 RIGHTARG = isbn,
1395 COMMUTATOR = <=,
1396 NEGATOR = <,
1397 RESTRICT = scalargtsel,
1398 JOIN = scalargtjoinsel);
1399 CREATE OPERATOR > (
1400 PROCEDURE = isngt,
1401 LEFTARG = ean13,
1402 RIGHTARG = isbn,
1403 COMMUTATOR = <,
1404 NEGATOR = <=,
1405 RESTRICT = scalargtsel,
1406 JOIN = scalargtjoinsel);
1407 CREATE OPERATOR <> (
1408 PROCEDURE = isnne,
1409 LEFTARG = ean13,
1410 RIGHTARG = isbn,
1411 COMMUTATOR = <>,
1412 NEGATOR = =,
1413 RESTRICT = neqsel,
1414 JOIN = neqjoinsel);
1416 CREATE OPERATOR < (
1417 PROCEDURE = isnlt,
1418 LEFTARG = ean13,
1419 RIGHTARG = ismn,
1420 COMMUTATOR = >,
1421 NEGATOR = >=,
1422 RESTRICT = scalarltsel,
1423 JOIN = scalarltjoinsel);
1424 CREATE OPERATOR <= (
1425 PROCEDURE = isnle,
1426 LEFTARG = ean13,
1427 RIGHTARG = ismn,
1428 COMMUTATOR = >=,
1429 NEGATOR = >,
1430 RESTRICT = scalarltsel,
1431 JOIN = scalarltjoinsel);
1432 CREATE OPERATOR = (
1433 PROCEDURE = isneq,
1434 LEFTARG = ean13,
1435 RIGHTARG = ismn,
1436 COMMUTATOR = =,
1437 NEGATOR = <>,
1438 RESTRICT = eqsel,
1439 JOIN = eqjoinsel,
1440 MERGES,
1441 HASHES);
1442 CREATE OPERATOR >= (
1443 PROCEDURE = isnge,
1444 LEFTARG = ean13,
1445 RIGHTARG = ismn,
1446 COMMUTATOR = <=,
1447 NEGATOR = <,
1448 RESTRICT = scalargtsel,
1449 JOIN = scalargtjoinsel);
1450 CREATE OPERATOR > (
1451 PROCEDURE = isngt,
1452 LEFTARG = ean13,
1453 RIGHTARG = ismn,
1454 COMMUTATOR = <,
1455 NEGATOR = <=,
1456 RESTRICT = scalargtsel,
1457 JOIN = scalargtjoinsel);
1458 CREATE OPERATOR <> (
1459 PROCEDURE = isnne,
1460 LEFTARG = ean13,
1461 RIGHTARG = ismn,
1462 COMMUTATOR = <>,
1463 NEGATOR = =,
1464 RESTRICT = neqsel,
1465 JOIN = neqjoinsel);
1467 CREATE OPERATOR < (
1468 PROCEDURE = isnlt,
1469 LEFTARG = ean13,
1470 RIGHTARG = issn,
1471 COMMUTATOR = >,
1472 NEGATOR = >=,
1473 RESTRICT = scalarltsel,
1474 JOIN = scalarltjoinsel);
1475 CREATE OPERATOR <= (
1476 PROCEDURE = isnle,
1477 LEFTARG = ean13,
1478 RIGHTARG = issn,
1479 COMMUTATOR = >=,
1480 NEGATOR = >,
1481 RESTRICT = scalarltsel,
1482 JOIN = scalarltjoinsel);
1483 CREATE OPERATOR = (
1484 PROCEDURE = isneq,
1485 LEFTARG = ean13,
1486 RIGHTARG = issn,
1487 COMMUTATOR = =,
1488 NEGATOR = <>,
1489 RESTRICT = eqsel,
1490 JOIN = eqjoinsel,
1491 MERGES,
1492 HASHES);
1493 CREATE OPERATOR >= (
1494 PROCEDURE = isnge,
1495 LEFTARG = ean13,
1496 RIGHTARG = issn,
1497 COMMUTATOR = <=,
1498 NEGATOR = <,
1499 RESTRICT = scalargtsel,
1500 JOIN = scalargtjoinsel);
1501 CREATE OPERATOR > (
1502 PROCEDURE = isngt,
1503 LEFTARG = ean13,
1504 RIGHTARG = issn,
1505 COMMUTATOR = <,
1506 NEGATOR = <=,
1507 RESTRICT = scalargtsel,
1508 JOIN = scalargtjoinsel);
1509 CREATE OPERATOR <> (
1510 PROCEDURE = isnne,
1511 LEFTARG = ean13,
1512 RIGHTARG = issn,
1513 COMMUTATOR = <>,
1514 NEGATOR = =,
1515 RESTRICT = neqsel,
1516 JOIN = neqjoinsel);
1518 CREATE OPERATOR < (
1519 PROCEDURE = isnlt,
1520 LEFTARG = ean13,
1521 RIGHTARG = upc,
1522 COMMUTATOR = >,
1523 NEGATOR = >=,
1524 RESTRICT = scalarltsel,
1525 JOIN = scalarltjoinsel);
1526 CREATE OPERATOR <= (
1527 PROCEDURE = isnle,
1528 LEFTARG = ean13,
1529 RIGHTARG = upc,
1530 COMMUTATOR = >=,
1531 NEGATOR = >,
1532 RESTRICT = scalarltsel,
1533 JOIN = scalarltjoinsel);
1534 CREATE OPERATOR = (
1535 PROCEDURE = isneq,
1536 LEFTARG = ean13,
1537 RIGHTARG = upc,
1538 COMMUTATOR = =,
1539 NEGATOR = <>,
1540 RESTRICT = eqsel,
1541 JOIN = eqjoinsel,
1542 MERGES,
1543 HASHES);
1544 CREATE OPERATOR >= (
1545 PROCEDURE = isnge,
1546 LEFTARG = ean13,
1547 RIGHTARG = upc,
1548 COMMUTATOR = <=,
1549 NEGATOR = <,
1550 RESTRICT = scalargtsel,
1551 JOIN = scalargtjoinsel);
1552 CREATE OPERATOR > (
1553 PROCEDURE = isngt,
1554 LEFTARG = ean13,
1555 RIGHTARG = upc,
1556 COMMUTATOR = <,
1557 NEGATOR = <=,
1558 RESTRICT = scalargtsel,
1559 JOIN = scalargtjoinsel);
1560 CREATE OPERATOR <> (
1561 PROCEDURE = isnne,
1562 LEFTARG = ean13,
1563 RIGHTARG = upc,
1564 COMMUTATOR = <>,
1565 NEGATOR = =,
1566 RESTRICT = neqsel,
1567 JOIN = neqjoinsel);
1570 -- ISBN13 operators:
1572 ---------------------------------------------------
1573 CREATE OPERATOR < (
1574 PROCEDURE = isnlt,
1575 LEFTARG = isbn13,
1576 RIGHTARG = isbn13,
1577 COMMUTATOR = >,
1578 NEGATOR = >=,
1579 RESTRICT = scalarltsel,
1580 JOIN = scalarltjoinsel);
1581 CREATE OPERATOR <= (
1582 PROCEDURE = isnle,
1583 LEFTARG = isbn13,
1584 RIGHTARG = isbn13,
1585 COMMUTATOR = >=,
1586 NEGATOR = >,
1587 RESTRICT = scalarltsel,
1588 JOIN = scalarltjoinsel);
1589 CREATE OPERATOR = (
1590 PROCEDURE = isneq,
1591 LEFTARG = isbn13,
1592 RIGHTARG = isbn13,
1593 COMMUTATOR = =,
1594 NEGATOR = <>,
1595 RESTRICT = eqsel,
1596 JOIN = eqjoinsel,
1597 MERGES,
1598 HASHES);
1599 CREATE OPERATOR >= (
1600 PROCEDURE = isnge,
1601 LEFTARG = isbn13,
1602 RIGHTARG = isbn13,
1603 COMMUTATOR = <=,
1604 NEGATOR = <,
1605 RESTRICT = scalargtsel,
1606 JOIN = scalargtjoinsel );
1607 CREATE OPERATOR > (
1608 PROCEDURE = isngt,
1609 LEFTARG = isbn13,
1610 RIGHTARG = isbn13,
1611 COMMUTATOR = <,
1612 NEGATOR = <=,
1613 RESTRICT = scalargtsel,
1614 JOIN = scalargtjoinsel );
1615 CREATE OPERATOR <> (
1616 PROCEDURE = isnne,
1617 LEFTARG = isbn13,
1618 RIGHTARG = isbn13,
1619 COMMUTATOR = <>,
1620 NEGATOR = =,
1621 RESTRICT = neqsel,
1622 JOIN = neqjoinsel);
1624 CREATE OPERATOR < (
1625 PROCEDURE = isnlt,
1626 LEFTARG = isbn13,
1627 RIGHTARG = isbn,
1628 COMMUTATOR = >,
1629 NEGATOR = >=,
1630 RESTRICT = scalarltsel,
1631 JOIN = scalarltjoinsel);
1632 CREATE OPERATOR <= (
1633 PROCEDURE = isnle,
1634 LEFTARG = isbn13,
1635 RIGHTARG = isbn,
1636 COMMUTATOR = >=,
1637 NEGATOR = >,
1638 RESTRICT = scalarltsel,
1639 JOIN = scalarltjoinsel);
1640 CREATE OPERATOR = (
1641 PROCEDURE = isneq,
1642 LEFTARG = isbn13,
1643 RIGHTARG = isbn,
1644 COMMUTATOR = =,
1645 NEGATOR = <>,
1646 RESTRICT = eqsel,
1647 JOIN = eqjoinsel,
1648 MERGES,
1649 HASHES);
1650 CREATE OPERATOR >= (
1651 PROCEDURE = isnge,
1652 LEFTARG = isbn13,
1653 RIGHTARG = isbn,
1654 COMMUTATOR = <=,
1655 NEGATOR = <,
1656 RESTRICT = scalargtsel,
1657 JOIN = scalargtjoinsel );
1658 CREATE OPERATOR > (
1659 PROCEDURE = isngt,
1660 LEFTARG = isbn13,
1661 RIGHTARG = isbn,
1662 COMMUTATOR = <,
1663 NEGATOR = <=,
1664 RESTRICT = scalargtsel,
1665 JOIN = scalargtjoinsel );
1666 CREATE OPERATOR <> (
1667 PROCEDURE = isnne,
1668 LEFTARG = isbn13,
1669 RIGHTARG = isbn,
1670 COMMUTATOR = <>,
1671 NEGATOR = =,
1672 RESTRICT = neqsel,
1673 JOIN = neqjoinsel);
1676 -- ISBN operators:
1678 ---------------------------------------------------
1679 CREATE OPERATOR < (
1680 PROCEDURE = isnlt,
1681 LEFTARG = isbn,
1682 RIGHTARG = isbn,
1683 COMMUTATOR = >,
1684 NEGATOR = >=,
1685 RESTRICT = scalarltsel,
1686 JOIN = scalarltjoinsel);
1687 CREATE OPERATOR <= (
1688 PROCEDURE = isnle,
1689 LEFTARG = isbn,
1690 RIGHTARG = isbn,
1691 COMMUTATOR = >=,
1692 NEGATOR = >,
1693 RESTRICT = scalarltsel,
1694 JOIN = scalarltjoinsel);
1695 CREATE OPERATOR = (
1696 PROCEDURE = isneq,
1697 LEFTARG = isbn,
1698 RIGHTARG = isbn,
1699 COMMUTATOR = =,
1700 NEGATOR = <>,
1701 RESTRICT = eqsel,
1702 JOIN = eqjoinsel,
1703 MERGES,
1704 HASHES);
1705 CREATE OPERATOR >= (
1706 PROCEDURE = isnge,
1707 LEFTARG = isbn,
1708 RIGHTARG = isbn,
1709 COMMUTATOR = <=,
1710 NEGATOR = <,
1711 RESTRICT = scalargtsel,
1712 JOIN = scalargtjoinsel );
1713 CREATE OPERATOR > (
1714 PROCEDURE = isngt,
1715 LEFTARG = isbn,
1716 RIGHTARG = isbn,
1717 COMMUTATOR = <,
1718 NEGATOR = <=,
1719 RESTRICT = scalargtsel,
1720 JOIN = scalargtjoinsel );
1721 CREATE OPERATOR <> (
1722 PROCEDURE = isnne,
1723 LEFTARG = isbn,
1724 RIGHTARG = isbn,
1725 COMMUTATOR = <>,
1726 NEGATOR = =,
1727 RESTRICT = neqsel,
1728 JOIN = neqjoinsel);
1730 CREATE OPERATOR < (
1731 PROCEDURE = isnlt,
1732 LEFTARG = isbn,
1733 RIGHTARG = isbn13,
1734 COMMUTATOR = >,
1735 NEGATOR = >=,
1736 RESTRICT = scalarltsel,
1737 JOIN = scalarltjoinsel);
1738 CREATE OPERATOR <= (
1739 PROCEDURE = isnle,
1740 LEFTARG = isbn,
1741 RIGHTARG = isbn13,
1742 COMMUTATOR = >=,
1743 NEGATOR = >,
1744 RESTRICT = scalarltsel,
1745 JOIN = scalarltjoinsel);
1746 CREATE OPERATOR = (
1747 PROCEDURE = isneq,
1748 LEFTARG = isbn,
1749 RIGHTARG = isbn13,
1750 COMMUTATOR = =,
1751 NEGATOR = <>,
1752 RESTRICT = eqsel,
1753 JOIN = eqjoinsel,
1754 MERGES,
1755 HASHES);
1756 CREATE OPERATOR >= (
1757 PROCEDURE = isnge,
1758 LEFTARG = isbn,
1759 RIGHTARG = isbn13,
1760 COMMUTATOR = <=,
1761 NEGATOR = <,
1762 RESTRICT = scalargtsel,
1763 JOIN = scalargtjoinsel );
1764 CREATE OPERATOR > (
1765 PROCEDURE = isngt,
1766 LEFTARG = isbn,
1767 RIGHTARG = isbn13,
1768 COMMUTATOR = <,
1769 NEGATOR = <=,
1770 RESTRICT = scalargtsel,
1771 JOIN = scalargtjoinsel );
1772 CREATE OPERATOR <> (
1773 PROCEDURE = isnne,
1774 LEFTARG = isbn,
1775 RIGHTARG = isbn13,
1776 COMMUTATOR = <>,
1777 NEGATOR = =,
1778 RESTRICT = neqsel,
1779 JOIN = neqjoinsel);
1781 CREATE OPERATOR < (
1782 PROCEDURE = isnlt,
1783 LEFTARG = isbn,
1784 RIGHTARG = ean13,
1785 COMMUTATOR = >,
1786 NEGATOR = >=,
1787 RESTRICT = scalarltsel,
1788 JOIN = scalarltjoinsel);
1789 CREATE OPERATOR <= (
1790 PROCEDURE = isnle,
1791 LEFTARG = isbn,
1792 RIGHTARG = ean13,
1793 COMMUTATOR = >=,
1794 NEGATOR = >,
1795 RESTRICT = scalarltsel,
1796 JOIN = scalarltjoinsel);
1797 CREATE OPERATOR = (
1798 PROCEDURE = isneq,
1799 LEFTARG = isbn,
1800 RIGHTARG = ean13,
1801 COMMUTATOR = =,
1802 NEGATOR = <>,
1803 RESTRICT = eqsel,
1804 JOIN = eqjoinsel,
1805 MERGES,
1806 HASHES);
1807 CREATE OPERATOR >= (
1808 PROCEDURE = isnge,
1809 LEFTARG = isbn,
1810 RIGHTARG = ean13,
1811 COMMUTATOR = <=,
1812 NEGATOR = <,
1813 RESTRICT = scalargtsel,
1814 JOIN = scalargtjoinsel );
1815 CREATE OPERATOR > (
1816 PROCEDURE = isngt,
1817 LEFTARG = isbn,
1818 RIGHTARG = ean13,
1819 COMMUTATOR = <,
1820 NEGATOR = <=,
1821 RESTRICT = scalargtsel,
1822 JOIN = scalargtjoinsel );
1823 CREATE OPERATOR <> (
1824 PROCEDURE = isnne,
1825 LEFTARG = isbn,
1826 RIGHTARG = ean13,
1827 COMMUTATOR = <>,
1828 NEGATOR = =,
1829 RESTRICT = neqsel,
1830 JOIN = neqjoinsel);
1833 -- ISMN13 operators:
1835 ---------------------------------------------------
1836 CREATE OPERATOR < (
1837 PROCEDURE = isnlt,
1838 LEFTARG = ismn13,
1839 RIGHTARG = ismn13,
1840 COMMUTATOR = >,
1841 NEGATOR = >=,
1842 RESTRICT = scalarltsel,
1843 JOIN = scalarltjoinsel);
1844 CREATE OPERATOR <= (
1845 PROCEDURE = isnle,
1846 LEFTARG = ismn13,
1847 RIGHTARG = ismn13,
1848 COMMUTATOR = >=,
1849 NEGATOR = >,
1850 RESTRICT = scalarltsel,
1851 JOIN = scalarltjoinsel);
1852 CREATE OPERATOR = (
1853 PROCEDURE = isneq,
1854 LEFTARG = ismn13,
1855 RIGHTARG = ismn13,
1856 COMMUTATOR = =,
1857 NEGATOR = <>,
1858 RESTRICT = eqsel,
1859 JOIN = eqjoinsel,
1860 MERGES,
1861 HASHES);
1862 CREATE OPERATOR >= (
1863 PROCEDURE = isnge,
1864 LEFTARG = ismn13,
1865 RIGHTARG = ismn13,
1866 COMMUTATOR = <=,
1867 NEGATOR = <,
1868 RESTRICT = scalargtsel,
1869 JOIN = scalargtjoinsel );
1870 CREATE OPERATOR > (
1871 PROCEDURE = isngt,
1872 LEFTARG = ismn13,
1873 RIGHTARG = ismn13,
1874 COMMUTATOR = <,
1875 NEGATOR = <=,
1876 RESTRICT = scalargtsel,
1877 JOIN = scalargtjoinsel );
1878 CREATE OPERATOR <> (
1879 PROCEDURE = isnne,
1880 LEFTARG = ismn13,
1881 RIGHTARG = ismn13,
1882 COMMUTATOR = <>,
1883 NEGATOR = =,
1884 RESTRICT = neqsel,
1885 JOIN = neqjoinsel);
1887 CREATE OPERATOR < (
1888 PROCEDURE = isnlt,
1889 LEFTARG = ismn13,
1890 RIGHTARG = ismn,
1891 COMMUTATOR = >,
1892 NEGATOR = >=,
1893 RESTRICT = scalarltsel,
1894 JOIN = scalarltjoinsel);
1895 CREATE OPERATOR <= (
1896 PROCEDURE = isnle,
1897 LEFTARG = ismn13,
1898 RIGHTARG = ismn,
1899 COMMUTATOR = >=,
1900 NEGATOR = >,
1901 RESTRICT = scalarltsel,
1902 JOIN = scalarltjoinsel);
1903 CREATE OPERATOR = (
1904 PROCEDURE = isneq,
1905 LEFTARG = ismn13,
1906 RIGHTARG = ismn,
1907 COMMUTATOR = =,
1908 NEGATOR = <>,
1909 RESTRICT = eqsel,
1910 JOIN = eqjoinsel,
1911 MERGES,
1912 HASHES);
1913 CREATE OPERATOR >= (
1914 PROCEDURE = isnge,
1915 LEFTARG = ismn13,
1916 RIGHTARG = ismn,
1917 COMMUTATOR = <=,
1918 NEGATOR = <,
1919 RESTRICT = scalargtsel,
1920 JOIN = scalargtjoinsel );
1921 CREATE OPERATOR > (
1922 PROCEDURE = isngt,
1923 LEFTARG = ismn13,
1924 RIGHTARG = ismn,
1925 COMMUTATOR = <,
1926 NEGATOR = <=,
1927 RESTRICT = scalargtsel,
1928 JOIN = scalargtjoinsel );
1929 CREATE OPERATOR <> (
1930 PROCEDURE = isnne,
1931 LEFTARG = ismn13,
1932 RIGHTARG = ismn,
1933 COMMUTATOR = <>,
1934 NEGATOR = =,
1935 RESTRICT = neqsel,
1936 JOIN = neqjoinsel);
1939 -- ISMN operators:
1941 ---------------------------------------------------
1942 CREATE OPERATOR < (
1943 PROCEDURE = isnlt,
1944 LEFTARG = ismn,
1945 RIGHTARG = ismn,
1946 COMMUTATOR = >,
1947 NEGATOR = >=,
1948 RESTRICT = scalarltsel,
1949 JOIN = scalarltjoinsel);
1950 CREATE OPERATOR <= (
1951 PROCEDURE = isnle,
1952 LEFTARG = ismn,
1953 RIGHTARG = ismn,
1954 COMMUTATOR = >=,
1955 NEGATOR = >,
1956 RESTRICT = scalarltsel,
1957 JOIN = scalarltjoinsel);
1958 CREATE OPERATOR = (
1959 PROCEDURE = isneq,
1960 LEFTARG = ismn,
1961 RIGHTARG = ismn,
1962 COMMUTATOR = =,
1963 NEGATOR = <>,
1964 RESTRICT = eqsel,
1965 JOIN = eqjoinsel,
1966 MERGES,
1967 HASHES);
1968 CREATE OPERATOR >= (
1969 PROCEDURE = isnge,
1970 LEFTARG = ismn,
1971 RIGHTARG = ismn,
1972 COMMUTATOR = <=,
1973 NEGATOR = <,
1974 RESTRICT = scalargtsel,
1975 JOIN = scalargtjoinsel );
1976 CREATE OPERATOR > (
1977 PROCEDURE = isngt,
1978 LEFTARG = ismn,
1979 RIGHTARG = ismn,
1980 COMMUTATOR = <,
1981 NEGATOR = <=,
1982 RESTRICT = scalargtsel,
1983 JOIN = scalargtjoinsel );
1984 CREATE OPERATOR <> (
1985 PROCEDURE = isnne,
1986 LEFTARG = ismn,
1987 RIGHTARG = ismn,
1988 COMMUTATOR = <>,
1989 NEGATOR = =,
1990 RESTRICT = neqsel,
1991 JOIN = neqjoinsel);
1993 CREATE OPERATOR < (
1994 PROCEDURE = isnlt,
1995 LEFTARG = ismn,
1996 RIGHTARG = ismn13,
1997 COMMUTATOR = >,
1998 NEGATOR = >=,
1999 RESTRICT = scalarltsel,
2000 JOIN = scalarltjoinsel);
2001 CREATE OPERATOR <= (
2002 PROCEDURE = isnle,
2003 LEFTARG = ismn,
2004 RIGHTARG = ismn13,
2005 COMMUTATOR = >=,
2006 NEGATOR = >,
2007 RESTRICT = scalarltsel,
2008 JOIN = scalarltjoinsel);
2009 CREATE OPERATOR = (
2010 PROCEDURE = isneq,
2011 LEFTARG = ismn,
2012 RIGHTARG = ismn13,
2013 COMMUTATOR = =,
2014 NEGATOR = <>,
2015 RESTRICT = eqsel,
2016 JOIN = eqjoinsel,
2017 MERGES,
2018 HASHES);
2019 CREATE OPERATOR >= (
2020 PROCEDURE = isnge,
2021 LEFTARG = ismn,
2022 RIGHTARG = ismn13,
2023 COMMUTATOR = <=,
2024 NEGATOR = <,
2025 RESTRICT = scalargtsel,
2026 JOIN = scalargtjoinsel );
2027 CREATE OPERATOR > (
2028 PROCEDURE = isngt,
2029 LEFTARG = ismn,
2030 RIGHTARG = ismn13,
2031 COMMUTATOR = <,
2032 NEGATOR = <=,
2033 RESTRICT = scalargtsel,
2034 JOIN = scalargtjoinsel );
2035 CREATE OPERATOR <> (
2036 PROCEDURE = isnne,
2037 LEFTARG = ismn,
2038 RIGHTARG = ismn13,
2039 COMMUTATOR = <>,
2040 NEGATOR = =,
2041 RESTRICT = neqsel,
2042 JOIN = neqjoinsel);
2044 CREATE OPERATOR < (
2045 PROCEDURE = isnlt,
2046 LEFTARG = ismn,
2047 RIGHTARG = ean13,
2048 COMMUTATOR = >,
2049 NEGATOR = >=,
2050 RESTRICT = scalarltsel,
2051 JOIN = scalarltjoinsel);
2052 CREATE OPERATOR <= (
2053 PROCEDURE = isnle,
2054 LEFTARG = ismn,
2055 RIGHTARG = ean13,
2056 COMMUTATOR = >=,
2057 NEGATOR = >,
2058 RESTRICT = scalarltsel,
2059 JOIN = scalarltjoinsel);
2060 CREATE OPERATOR = (
2061 PROCEDURE = isneq,
2062 LEFTARG = ismn,
2063 RIGHTARG = ean13,
2064 COMMUTATOR = =,
2065 NEGATOR = <>,
2066 RESTRICT = eqsel,
2067 JOIN = eqjoinsel,
2068 MERGES,
2069 HASHES);
2070 CREATE OPERATOR >= (
2071 PROCEDURE = isnge,
2072 LEFTARG = ismn,
2073 RIGHTARG = ean13,
2074 COMMUTATOR = <=,
2075 NEGATOR = <,
2076 RESTRICT = scalargtsel,
2077 JOIN = scalargtjoinsel );
2078 CREATE OPERATOR > (
2079 PROCEDURE = isngt,
2080 LEFTARG = ismn,
2081 RIGHTARG = ean13,
2082 COMMUTATOR = <,
2083 NEGATOR = <=,
2084 RESTRICT = scalargtsel,
2085 JOIN = scalargtjoinsel );
2086 CREATE OPERATOR <> (
2087 PROCEDURE = isnne,
2088 LEFTARG = ismn,
2089 RIGHTARG = ean13,
2090 COMMUTATOR = <>,
2091 NEGATOR = =,
2092 RESTRICT = neqsel,
2093 JOIN = neqjoinsel);
2096 -- ISSN13 operators:
2098 ---------------------------------------------------
2099 CREATE OPERATOR < (
2100 PROCEDURE = isnlt,
2101 LEFTARG = issn13,
2102 RIGHTARG = issn13,
2103 COMMUTATOR = >,
2104 NEGATOR = >=,
2105 RESTRICT = scalarltsel,
2106 JOIN = scalarltjoinsel);
2107 CREATE OPERATOR <= (
2108 PROCEDURE = isnle,
2109 LEFTARG = issn13,
2110 RIGHTARG = issn13,
2111 COMMUTATOR = >=,
2112 NEGATOR = >,
2113 RESTRICT = scalarltsel,
2114 JOIN = scalarltjoinsel);
2115 CREATE OPERATOR = (
2116 PROCEDURE = isneq,
2117 LEFTARG = issn13,
2118 RIGHTARG = issn13,
2119 COMMUTATOR = =,
2120 NEGATOR = <>,
2121 RESTRICT = eqsel,
2122 JOIN = eqjoinsel,
2123 MERGES,
2124 HASHES);
2125 CREATE OPERATOR >= (
2126 PROCEDURE = isnge,
2127 LEFTARG = issn13,
2128 RIGHTARG = issn13,
2129 COMMUTATOR = <=,
2130 NEGATOR = <,
2131 RESTRICT = scalargtsel,
2132 JOIN = scalargtjoinsel );
2133 CREATE OPERATOR > (
2134 PROCEDURE = isngt,
2135 LEFTARG = issn13,
2136 RIGHTARG = issn13,
2137 COMMUTATOR = <,
2138 NEGATOR = <=,
2139 RESTRICT = scalargtsel,
2140 JOIN = scalargtjoinsel );
2141 CREATE OPERATOR <> (
2142 PROCEDURE = isnne,
2143 LEFTARG = issn13,
2144 RIGHTARG = issn13,
2145 COMMUTATOR = <>,
2146 NEGATOR = =,
2147 RESTRICT = neqsel,
2148 JOIN = neqjoinsel);
2150 CREATE OPERATOR < (
2151 PROCEDURE = isnlt,
2152 LEFTARG = issn13,
2153 RIGHTARG = issn,
2154 COMMUTATOR = >,
2155 NEGATOR = >=,
2156 RESTRICT = scalarltsel,
2157 JOIN = scalarltjoinsel);
2158 CREATE OPERATOR <= (
2159 PROCEDURE = isnle,
2160 LEFTARG = issn13,
2161 RIGHTARG = issn,
2162 COMMUTATOR = >=,
2163 NEGATOR = >,
2164 RESTRICT = scalarltsel,
2165 JOIN = scalarltjoinsel);
2166 CREATE OPERATOR = (
2167 PROCEDURE = isneq,
2168 LEFTARG = issn13,
2169 RIGHTARG = issn,
2170 COMMUTATOR = =,
2171 NEGATOR = <>,
2172 RESTRICT = eqsel,
2173 JOIN = eqjoinsel,
2174 MERGES,
2175 HASHES);
2176 CREATE OPERATOR >= (
2177 PROCEDURE = isnge,
2178 LEFTARG = issn13,
2179 RIGHTARG = issn,
2180 COMMUTATOR = <=,
2181 NEGATOR = <,
2182 RESTRICT = scalargtsel,
2183 JOIN = scalargtjoinsel );
2184 CREATE OPERATOR > (
2185 PROCEDURE = isngt,
2186 LEFTARG = issn13,
2187 RIGHTARG = issn,
2188 COMMUTATOR = <,
2189 NEGATOR = <=,
2190 RESTRICT = scalargtsel,
2191 JOIN = scalargtjoinsel );
2192 CREATE OPERATOR <> (
2193 PROCEDURE = isnne,
2194 LEFTARG = issn13,
2195 RIGHTARG = issn,
2196 COMMUTATOR = <>,
2197 NEGATOR = =,
2198 RESTRICT = neqsel,
2199 JOIN = neqjoinsel);
2201 CREATE OPERATOR < (
2202 PROCEDURE = isnlt,
2203 LEFTARG = issn13,
2204 RIGHTARG = ean13,
2205 COMMUTATOR = >,
2206 NEGATOR = >=,
2207 RESTRICT = scalarltsel,
2208 JOIN = scalarltjoinsel);
2209 CREATE OPERATOR <= (
2210 PROCEDURE = isnle,
2211 LEFTARG = issn13,
2212 RIGHTARG = ean13,
2213 COMMUTATOR = >=,
2214 NEGATOR = >,
2215 RESTRICT = scalarltsel,
2216 JOIN = scalarltjoinsel);
2217 CREATE OPERATOR = (
2218 PROCEDURE = isneq,
2219 LEFTARG = issn13,
2220 RIGHTARG = ean13,
2221 COMMUTATOR = =,
2222 NEGATOR = <>,
2223 RESTRICT = eqsel,
2224 JOIN = eqjoinsel,
2225 MERGES,
2226 HASHES);
2227 CREATE OPERATOR >= (
2228 PROCEDURE = isnge,
2229 LEFTARG = issn13,
2230 RIGHTARG = ean13,
2231 COMMUTATOR = <=,
2232 NEGATOR = <,
2233 RESTRICT = scalargtsel,
2234 JOIN = scalargtjoinsel );
2235 CREATE OPERATOR > (
2236 PROCEDURE = isngt,
2237 LEFTARG = issn13,
2238 RIGHTARG = ean13,
2239 COMMUTATOR = <,
2240 NEGATOR = <=,
2241 RESTRICT = scalargtsel,
2242 JOIN = scalargtjoinsel );
2243 CREATE OPERATOR <> (
2244 PROCEDURE = isnne,
2245 LEFTARG = issn13,
2246 RIGHTARG = ean13,
2247 COMMUTATOR = <>,
2248 NEGATOR = =,
2249 RESTRICT = neqsel,
2250 JOIN = neqjoinsel);
2253 -- ISSN operators:
2255 ---------------------------------------------------
2256 CREATE OPERATOR < (
2257 PROCEDURE = isnlt,
2258 LEFTARG = issn,
2259 RIGHTARG = issn,
2260 COMMUTATOR = >,
2261 NEGATOR = >=,
2262 RESTRICT = scalarltsel,
2263 JOIN = scalarltjoinsel);
2264 CREATE OPERATOR <= (
2265 PROCEDURE = isnle,
2266 LEFTARG = issn,
2267 RIGHTARG = issn,
2268 COMMUTATOR = >=,
2269 NEGATOR = >,
2270 RESTRICT = scalarltsel,
2271 JOIN = scalarltjoinsel);
2272 CREATE OPERATOR = (
2273 PROCEDURE = isneq,
2274 LEFTARG = issn,
2275 RIGHTARG = issn,
2276 COMMUTATOR = =,
2277 NEGATOR = <>,
2278 RESTRICT = eqsel,
2279 JOIN = eqjoinsel,
2280 MERGES,
2281 HASHES);
2282 CREATE OPERATOR >= (
2283 PROCEDURE = isnge,
2284 LEFTARG = issn,
2285 RIGHTARG = issn,
2286 COMMUTATOR = <=,
2287 NEGATOR = <,
2288 RESTRICT = scalargtsel,
2289 JOIN = scalargtjoinsel );
2290 CREATE OPERATOR > (
2291 PROCEDURE = isngt,
2292 LEFTARG = issn,
2293 RIGHTARG = issn,
2294 COMMUTATOR = <,
2295 NEGATOR = <=,
2296 RESTRICT = scalargtsel,
2297 JOIN = scalargtjoinsel );
2298 CREATE OPERATOR <> (
2299 PROCEDURE = isnne,
2300 LEFTARG = issn,
2301 RIGHTARG = issn,
2302 COMMUTATOR = <>,
2303 NEGATOR = =,
2304 RESTRICT = neqsel,
2305 JOIN = neqjoinsel);
2307 CREATE OPERATOR < (
2308 PROCEDURE = isnlt,
2309 LEFTARG = issn,
2310 RIGHTARG = issn13,
2311 COMMUTATOR = >,
2312 NEGATOR = >=,
2313 RESTRICT = scalarltsel,
2314 JOIN = scalarltjoinsel);
2315 CREATE OPERATOR <= (
2316 PROCEDURE = isnle,
2317 LEFTARG = issn,
2318 RIGHTARG = issn13,
2319 COMMUTATOR = >=,
2320 NEGATOR = >,
2321 RESTRICT = scalarltsel,
2322 JOIN = scalarltjoinsel);
2323 CREATE OPERATOR = (
2324 PROCEDURE = isneq,
2325 LEFTARG = issn,
2326 RIGHTARG = issn13,
2327 COMMUTATOR = =,
2328 NEGATOR = <>,
2329 RESTRICT = eqsel,
2330 JOIN = eqjoinsel,
2331 MERGES,
2332 HASHES);
2333 CREATE OPERATOR >= (
2334 PROCEDURE = isnge,
2335 LEFTARG = issn,
2336 RIGHTARG = issn13,
2337 COMMUTATOR = <=,
2338 NEGATOR = <,
2339 RESTRICT = scalargtsel,
2340 JOIN = scalargtjoinsel );
2341 CREATE OPERATOR > (
2342 PROCEDURE = isngt,
2343 LEFTARG = issn,
2344 RIGHTARG = issn13,
2345 COMMUTATOR = <,
2346 NEGATOR = <=,
2347 RESTRICT = scalargtsel,
2348 JOIN = scalargtjoinsel );
2349 CREATE OPERATOR <> (
2350 PROCEDURE = isnne,
2351 LEFTARG = issn,
2352 RIGHTARG = issn13,
2353 COMMUTATOR = <>,
2354 NEGATOR = =,
2355 RESTRICT = neqsel,
2356 JOIN = neqjoinsel);
2358 CREATE OPERATOR < (
2359 PROCEDURE = isnlt,
2360 LEFTARG = issn,
2361 RIGHTARG = ean13,
2362 COMMUTATOR = >,
2363 NEGATOR = >=,
2364 RESTRICT = scalarltsel,
2365 JOIN = scalarltjoinsel);
2366 CREATE OPERATOR <= (
2367 PROCEDURE = isnle,
2368 LEFTARG = issn,
2369 RIGHTARG = ean13,
2370 COMMUTATOR = >=,
2371 NEGATOR = >,
2372 RESTRICT = scalarltsel,
2373 JOIN = scalarltjoinsel);
2374 CREATE OPERATOR = (
2375 PROCEDURE = isneq,
2376 LEFTARG = issn,
2377 RIGHTARG = ean13,
2378 COMMUTATOR = =,
2379 NEGATOR = <>,
2380 RESTRICT = eqsel,
2381 JOIN = eqjoinsel,
2382 MERGES,
2383 HASHES);
2384 CREATE OPERATOR >= (
2385 PROCEDURE = isnge,
2386 LEFTARG = issn,
2387 RIGHTARG = ean13,
2388 COMMUTATOR = <=,
2389 NEGATOR = <,
2390 RESTRICT = scalargtsel,
2391 JOIN = scalargtjoinsel );
2392 CREATE OPERATOR > (
2393 PROCEDURE = isngt,
2394 LEFTARG = issn,
2395 RIGHTARG = ean13,
2396 COMMUTATOR = <,
2397 NEGATOR = <=,
2398 RESTRICT = scalargtsel,
2399 JOIN = scalargtjoinsel );
2400 CREATE OPERATOR <> (
2401 PROCEDURE = isnne,
2402 LEFTARG = issn,
2403 RIGHTARG = ean13,
2404 COMMUTATOR = <>,
2405 NEGATOR = =,
2406 RESTRICT = neqsel,
2407 JOIN = neqjoinsel);
2410 -- UPC operators:
2412 ---------------------------------------------------
2413 CREATE OPERATOR < (
2414 PROCEDURE = isnlt,
2415 LEFTARG = upc,
2416 RIGHTARG = upc,
2417 COMMUTATOR = >,
2418 NEGATOR = >=,
2419 RESTRICT = scalarltsel,
2420 JOIN = scalarltjoinsel);
2421 CREATE OPERATOR <= (
2422 PROCEDURE = isnle,
2423 LEFTARG = upc,
2424 RIGHTARG = upc,
2425 COMMUTATOR = >=,
2426 NEGATOR = >,
2427 RESTRICT = scalarltsel,
2428 JOIN = scalarltjoinsel);
2429 CREATE OPERATOR = (
2430 PROCEDURE = isneq,
2431 LEFTARG = upc,
2432 RIGHTARG = upc,
2433 COMMUTATOR = =,
2434 NEGATOR = <>,
2435 RESTRICT = eqsel,
2436 JOIN = eqjoinsel,
2437 MERGES,
2438 HASHES);
2439 CREATE OPERATOR >= (
2440 PROCEDURE = isnge,
2441 LEFTARG = upc,
2442 RIGHTARG = upc,
2443 COMMUTATOR = <=,
2444 NEGATOR = <,
2445 RESTRICT = scalargtsel,
2446 JOIN = scalargtjoinsel );
2447 CREATE OPERATOR > (
2448 PROCEDURE = isngt,
2449 LEFTARG = upc,
2450 RIGHTARG = upc,
2451 COMMUTATOR = <,
2452 NEGATOR = <=,
2453 RESTRICT = scalargtsel,
2454 JOIN = scalargtjoinsel );
2455 CREATE OPERATOR <> (
2456 PROCEDURE = isnne,
2457 LEFTARG = upc,
2458 RIGHTARG = upc,
2459 COMMUTATOR = <>,
2460 NEGATOR = =,
2461 RESTRICT = neqsel,
2462 JOIN = neqjoinsel);
2464 CREATE OPERATOR < (
2465 PROCEDURE = isnlt,
2466 LEFTARG = upc,
2467 RIGHTARG = ean13,
2468 COMMUTATOR = >,
2469 NEGATOR = >=,
2470 RESTRICT = scalarltsel,
2471 JOIN = scalarltjoinsel);
2472 CREATE OPERATOR <= (
2473 PROCEDURE = isnle,
2474 LEFTARG = upc,
2475 RIGHTARG = ean13,
2476 COMMUTATOR = >=,
2477 NEGATOR = >,
2478 RESTRICT = scalarltsel,
2479 JOIN = scalarltjoinsel);
2480 CREATE OPERATOR = (
2481 PROCEDURE = isneq,
2482 LEFTARG = upc,
2483 RIGHTARG = ean13,
2484 COMMUTATOR = =,
2485 NEGATOR = <>,
2486 RESTRICT = eqsel,
2487 JOIN = eqjoinsel,
2488 MERGES,
2489 HASHES);
2490 CREATE OPERATOR >= (
2491 PROCEDURE = isnge,
2492 LEFTARG = upc,
2493 RIGHTARG = ean13,
2494 COMMUTATOR = <=,
2495 NEGATOR = <,
2496 RESTRICT = scalargtsel,
2497 JOIN = scalargtjoinsel );
2498 CREATE OPERATOR > (
2499 PROCEDURE = isngt,
2500 LEFTARG = upc,
2501 RIGHTARG = ean13,
2502 COMMUTATOR = <,
2503 NEGATOR = <=,
2504 RESTRICT = scalargtsel,
2505 JOIN = scalargtjoinsel );
2506 CREATE OPERATOR <> (
2507 PROCEDURE = isnne,
2508 LEFTARG = upc,
2509 RIGHTARG = ean13,
2510 COMMUTATOR = <>,
2511 NEGATOR = =,
2512 RESTRICT = neqsel,
2513 JOIN = neqjoinsel);
2516 -- Operator families for the various operator classes:
2518 ---------------------------------------------------
2520 CREATE OPERATOR FAMILY isn_ops USING btree;
2521 CREATE OPERATOR FAMILY isn_ops USING hash;
2524 -- Operator classes:
2526 ---------------------------------------------------
2527 -- EAN13:
2528 CREATE OR REPLACE FUNCTION btean13cmp(ean13, ean13)
2529 RETURNS int4
2530 AS 'btint8cmp'
2531 LANGUAGE 'internal'
2532 IMMUTABLE STRICT;
2534 CREATE OPERATOR CLASS ean13_ops DEFAULT
2535 FOR TYPE ean13 USING btree FAMILY isn_ops AS
2536 OPERATOR 1 <,
2537 OPERATOR 2 <=,
2538 OPERATOR 3 =,
2539 OPERATOR 4 >=,
2540 OPERATOR 5 >,
2541 FUNCTION 1 btean13cmp(ean13, ean13);
2543 CREATE OR REPLACE FUNCTION hashean13(ean13)
2544 RETURNS int4
2545 AS 'hashint8'
2546 LANGUAGE 'internal' IMMUTABLE STRICT;
2548 CREATE OPERATOR CLASS ean13_ops DEFAULT
2549 FOR TYPE ean13 USING hash FAMILY isn_ops AS
2550 OPERATOR 1 =,
2551 FUNCTION 1 hashean13(ean13);
2553 -- EAN13 vs other types:
2554 CREATE OR REPLACE FUNCTION btean13cmp(ean13, isbn13)
2555 RETURNS int4
2556 AS 'btint8cmp'
2557 LANGUAGE 'internal'
2558 IMMUTABLE STRICT;
2559 CREATE OR REPLACE FUNCTION btean13cmp(ean13, ismn13)
2560 RETURNS int4
2561 AS 'btint8cmp'
2562 LANGUAGE 'internal'
2563 IMMUTABLE STRICT;
2564 CREATE OR REPLACE FUNCTION btean13cmp(ean13, issn13)
2565 RETURNS int4
2566 AS 'btint8cmp'
2567 LANGUAGE 'internal'
2568 IMMUTABLE STRICT;
2569 CREATE OR REPLACE FUNCTION btean13cmp(ean13, isbn)
2570 RETURNS int4
2571 AS 'btint8cmp'
2572 LANGUAGE 'internal'
2573 IMMUTABLE STRICT;
2574 CREATE OR REPLACE FUNCTION btean13cmp(ean13, ismn)
2575 RETURNS int4
2576 AS 'btint8cmp'
2577 LANGUAGE 'internal'
2578 IMMUTABLE STRICT;
2579 CREATE OR REPLACE FUNCTION btean13cmp(ean13, issn)
2580 RETURNS int4
2581 AS 'btint8cmp'
2582 LANGUAGE 'internal'
2583 IMMUTABLE STRICT;
2584 CREATE OR REPLACE FUNCTION btean13cmp(ean13, upc)
2585 RETURNS int4
2586 AS 'btint8cmp'
2587 LANGUAGE 'internal'
2588 IMMUTABLE STRICT;
2590 ALTER OPERATOR FAMILY isn_ops USING btree ADD
2591 OPERATOR 1 < (ean13, isbn13),
2592 OPERATOR 1 < (ean13, ismn13),
2593 OPERATOR 1 < (ean13, issn13),
2594 OPERATOR 1 < (ean13, isbn),
2595 OPERATOR 1 < (ean13, ismn),
2596 OPERATOR 1 < (ean13, issn),
2597 OPERATOR 1 < (ean13, upc),
2598 OPERATOR 2 <= (ean13, isbn13),
2599 OPERATOR 2 <= (ean13, ismn13),
2600 OPERATOR 2 <= (ean13, issn13),
2601 OPERATOR 2 <= (ean13, isbn),
2602 OPERATOR 2 <= (ean13, ismn),
2603 OPERATOR 2 <= (ean13, issn),
2604 OPERATOR 2 <= (ean13, upc),
2605 OPERATOR 3 = (ean13, isbn13),
2606 OPERATOR 3 = (ean13, ismn13),
2607 OPERATOR 3 = (ean13, issn13),
2608 OPERATOR 3 = (ean13, isbn),
2609 OPERATOR 3 = (ean13, ismn),
2610 OPERATOR 3 = (ean13, issn),
2611 OPERATOR 3 = (ean13, upc),
2612 OPERATOR 4 >= (ean13, isbn13),
2613 OPERATOR 4 >= (ean13, ismn13),
2614 OPERATOR 4 >= (ean13, issn13),
2615 OPERATOR 4 >= (ean13, isbn),
2616 OPERATOR 4 >= (ean13, ismn),
2617 OPERATOR 4 >= (ean13, issn),
2618 OPERATOR 4 >= (ean13, upc),
2619 OPERATOR 5 > (ean13, isbn13),
2620 OPERATOR 5 > (ean13, ismn13),
2621 OPERATOR 5 > (ean13, issn13),
2622 OPERATOR 5 > (ean13, isbn),
2623 OPERATOR 5 > (ean13, ismn),
2624 OPERATOR 5 > (ean13, issn),
2625 OPERATOR 5 > (ean13, upc),
2626 FUNCTION 1 btean13cmp(ean13, isbn13),
2627 FUNCTION 1 btean13cmp(ean13, ismn13),
2628 FUNCTION 1 btean13cmp(ean13, issn13),
2629 FUNCTION 1 btean13cmp(ean13, isbn),
2630 FUNCTION 1 btean13cmp(ean13, ismn),
2631 FUNCTION 1 btean13cmp(ean13, issn),
2632 FUNCTION 1 btean13cmp(ean13, upc);
2634 ALTER OPERATOR FAMILY isn_ops USING hash ADD
2635 OPERATOR 1 = (ean13, isbn13),
2636 OPERATOR 1 = (ean13, ismn13),
2637 OPERATOR 1 = (ean13, issn13),
2638 OPERATOR 1 = (ean13, isbn),
2639 OPERATOR 1 = (ean13, ismn),
2640 OPERATOR 1 = (ean13, issn),
2641 OPERATOR 1 = (ean13, upc);
2643 ---------------------------------------------------
2644 -- ISBN13:
2645 CREATE OR REPLACE FUNCTION btisbn13cmp(isbn13, isbn13)
2646 RETURNS int4
2647 AS 'btint8cmp'
2648 LANGUAGE 'internal'
2649 IMMUTABLE STRICT;
2651 CREATE OPERATOR CLASS isbn13_ops DEFAULT
2652 FOR TYPE isbn13 USING btree FAMILY isn_ops AS
2653 OPERATOR 1 <,
2654 OPERATOR 2 <=,
2655 OPERATOR 3 =,
2656 OPERATOR 4 >=,
2657 OPERATOR 5 >,
2658 FUNCTION 1 btisbn13cmp(isbn13, isbn13);
2660 CREATE OR REPLACE FUNCTION hashisbn13(isbn13)
2661 RETURNS int4
2662 AS 'hashint8'
2663 LANGUAGE 'internal'
2664 IMMUTABLE STRICT;
2666 CREATE OPERATOR CLASS isbn13_ops DEFAULT
2667 FOR TYPE isbn13 USING hash FAMILY isn_ops AS
2668 OPERATOR 1 =,
2669 FUNCTION 1 hashisbn13(isbn13);
2671 -- ISBN13 vs other types:
2672 CREATE OR REPLACE FUNCTION btisbn13cmp(isbn13, ean13)
2673 RETURNS int4
2674 AS 'btint8cmp'
2675 LANGUAGE 'internal'
2676 IMMUTABLE STRICT;
2677 CREATE OR REPLACE FUNCTION btisbn13cmp(isbn13, isbn)
2678 RETURNS int4
2679 AS 'btint8cmp'
2680 LANGUAGE 'internal'
2681 IMMUTABLE STRICT;
2683 ALTER OPERATOR FAMILY isn_ops USING btree ADD
2684 OPERATOR 1 < (isbn13, ean13),
2685 OPERATOR 1 < (isbn13, isbn),
2686 OPERATOR 2 <= (isbn13, ean13),
2687 OPERATOR 2 <= (isbn13, isbn),
2688 OPERATOR 3 = (isbn13, ean13),
2689 OPERATOR 3 = (isbn13, isbn),
2690 OPERATOR 4 >= (isbn13, ean13),
2691 OPERATOR 4 >= (isbn13, isbn),
2692 OPERATOR 5 > (isbn13, ean13),
2693 OPERATOR 5 > (isbn13, isbn),
2694 FUNCTION 1 btisbn13cmp(isbn13, ean13),
2695 FUNCTION 1 btisbn13cmp(isbn13, isbn);
2697 ALTER OPERATOR FAMILY isn_ops USING hash ADD
2698 OPERATOR 1 = (isbn13, ean13),
2699 OPERATOR 1 = (isbn13, isbn);
2701 ---------------------------------------------------
2702 -- ISBN:
2703 CREATE OR REPLACE FUNCTION btisbncmp(isbn, isbn)
2704 RETURNS int4
2705 AS 'btint8cmp'
2706 LANGUAGE 'internal'
2707 IMMUTABLE STRICT;
2709 CREATE OPERATOR CLASS isbn_ops DEFAULT
2710 FOR TYPE isbn USING btree FAMILY isn_ops AS
2711 OPERATOR 1 <,
2712 OPERATOR 2 <=,
2713 OPERATOR 3 =,
2714 OPERATOR 4 >=,
2715 OPERATOR 5 >,
2716 FUNCTION 1 btisbncmp(isbn, isbn);
2718 CREATE OR REPLACE FUNCTION hashisbn(isbn)
2719 RETURNS int4
2720 AS 'hashint8'
2721 LANGUAGE 'internal'
2722 IMMUTABLE STRICT;
2724 CREATE OPERATOR CLASS isbn_ops DEFAULT
2725 FOR TYPE isbn USING hash FAMILY isn_ops AS
2726 OPERATOR 1 =,
2727 FUNCTION 1 hashisbn(isbn);
2729 -- ISBN vs other types:
2730 CREATE OR REPLACE FUNCTION btisbncmp(isbn, ean13)
2731 RETURNS int4
2732 AS 'btint8cmp'
2733 LANGUAGE 'internal'
2734 IMMUTABLE STRICT;
2735 CREATE OR REPLACE FUNCTION btisbncmp(isbn, isbn13)
2736 RETURNS int4
2737 AS 'btint8cmp'
2738 LANGUAGE 'internal'
2739 IMMUTABLE STRICT;
2741 ALTER OPERATOR FAMILY isn_ops USING btree ADD
2742 OPERATOR 1 < (isbn, ean13),
2743 OPERATOR 1 < (isbn, isbn13),
2744 OPERATOR 2 <= (isbn, ean13),
2745 OPERATOR 2 <= (isbn, isbn13),
2746 OPERATOR 3 = (isbn, ean13),
2747 OPERATOR 3 = (isbn, isbn13),
2748 OPERATOR 4 >= (isbn, ean13),
2749 OPERATOR 4 >= (isbn, isbn13),
2750 OPERATOR 5 > (isbn, ean13),
2751 OPERATOR 5 > (isbn, isbn13),
2752 FUNCTION 1 btisbncmp(isbn, ean13),
2753 FUNCTION 1 btisbncmp(isbn, isbn13);
2755 ALTER OPERATOR FAMILY isn_ops USING hash ADD
2756 OPERATOR 1 = (isbn, ean13),
2757 OPERATOR 1 = (isbn, isbn13);
2759 ---------------------------------------------------
2760 -- ISMN13:
2761 CREATE OR REPLACE FUNCTION btismn13cmp(ismn13, ismn13)
2762 RETURNS int4
2763 AS 'btint8cmp'
2764 LANGUAGE 'internal'
2765 IMMUTABLE STRICT;
2767 CREATE OPERATOR CLASS ismn13_ops DEFAULT
2768 FOR TYPE ismn13 USING btree FAMILY isn_ops AS
2769 OPERATOR 1 <,
2770 OPERATOR 2 <=,
2771 OPERATOR 3 =,
2772 OPERATOR 4 >=,
2773 OPERATOR 5 >,
2774 FUNCTION 1 btismn13cmp(ismn13, ismn13);
2776 CREATE OR REPLACE FUNCTION hashismn13(ismn13)
2777 RETURNS int4
2778 AS 'hashint8'
2779 LANGUAGE 'internal'
2780 IMMUTABLE STRICT;
2782 CREATE OPERATOR CLASS ismn13_ops DEFAULT
2783 FOR TYPE ismn13 USING hash FAMILY isn_ops AS
2784 OPERATOR 1 =,
2785 FUNCTION 1 hashismn13(ismn13);
2787 -- ISMN13 vs other types:
2788 CREATE OR REPLACE FUNCTION btismn13cmp(ismn13, ean13)
2789 RETURNS int4
2790 AS 'btint8cmp'
2791 LANGUAGE 'internal'
2792 IMMUTABLE STRICT;
2793 CREATE OR REPLACE FUNCTION btismn13cmp(ismn13, ismn)
2794 RETURNS int4
2795 AS 'btint8cmp'
2796 LANGUAGE 'internal'
2797 IMMUTABLE STRICT;
2799 ALTER OPERATOR FAMILY isn_ops USING btree ADD
2800 OPERATOR 1 < (ismn13, ean13),
2801 OPERATOR 1 < (ismn13, ismn),
2802 OPERATOR 2 <= (ismn13, ean13),
2803 OPERATOR 2 <= (ismn13, ismn),
2804 OPERATOR 3 = (ismn13, ean13),
2805 OPERATOR 3 = (ismn13, ismn),
2806 OPERATOR 4 >= (ismn13, ean13),
2807 OPERATOR 4 >= (ismn13, ismn),
2808 OPERATOR 5 > (ismn13, ean13),
2809 OPERATOR 5 > (ismn13, ismn),
2810 FUNCTION 1 btismn13cmp(ismn13, ean13),
2811 FUNCTION 1 btismn13cmp(ismn13, ismn);
2813 ALTER OPERATOR FAMILY isn_ops USING hash ADD
2814 OPERATOR 1 = (ismn13, ean13),
2815 OPERATOR 1 = (ismn13, ismn);
2817 ---------------------------------------------------
2818 -- ISMN:
2819 CREATE OR REPLACE FUNCTION btismncmp(ismn, ismn)
2820 RETURNS int4
2821 AS 'btint8cmp'
2822 LANGUAGE 'internal'
2823 IMMUTABLE STRICT;
2825 CREATE OPERATOR CLASS ismn_ops DEFAULT
2826 FOR TYPE ismn USING btree FAMILY isn_ops AS
2827 OPERATOR 1 <,
2828 OPERATOR 2 <=,
2829 OPERATOR 3 =,
2830 OPERATOR 4 >=,
2831 OPERATOR 5 >,
2832 FUNCTION 1 btismncmp(ismn, ismn);
2834 CREATE OR REPLACE FUNCTION hashismn(ismn)
2835 RETURNS int4
2836 AS 'hashint8'
2837 LANGUAGE 'internal'
2838 IMMUTABLE STRICT;
2840 CREATE OPERATOR CLASS ismn_ops DEFAULT
2841 FOR TYPE ismn USING hash FAMILY isn_ops AS
2842 OPERATOR 1 =,
2843 FUNCTION 1 hashismn(ismn);
2845 -- ISMN vs other types:
2846 CREATE OR REPLACE FUNCTION btismncmp(ismn, ean13)
2847 RETURNS int4
2848 AS 'btint8cmp'
2849 LANGUAGE 'internal'
2850 IMMUTABLE STRICT;
2851 CREATE OR REPLACE FUNCTION btismncmp(ismn, ismn13)
2852 RETURNS int4
2853 AS 'btint8cmp'
2854 LANGUAGE 'internal'
2855 IMMUTABLE STRICT;
2857 ALTER OPERATOR FAMILY isn_ops USING btree ADD
2858 OPERATOR 1 < (ismn, ean13),
2859 OPERATOR 1 < (ismn, ismn13),
2860 OPERATOR 2 <= (ismn, ean13),
2861 OPERATOR 2 <= (ismn, ismn13),
2862 OPERATOR 3 = (ismn, ean13),
2863 OPERATOR 3 = (ismn, ismn13),
2864 OPERATOR 4 >= (ismn, ean13),
2865 OPERATOR 4 >= (ismn, ismn13),
2866 OPERATOR 5 > (ismn, ean13),
2867 OPERATOR 5 > (ismn, ismn13),
2868 FUNCTION 1 btismncmp(ismn, ean13),
2869 FUNCTION 1 btismncmp(ismn, ismn13);
2871 ALTER OPERATOR FAMILY isn_ops USING hash ADD
2872 OPERATOR 1 = (ismn, ean13),
2873 OPERATOR 1 = (ismn, ismn13);
2875 ---------------------------------------------------
2876 -- ISSN13:
2877 CREATE OR REPLACE FUNCTION btissn13cmp(issn13, issn13)
2878 RETURNS int4
2879 AS 'btint8cmp'
2880 LANGUAGE 'internal'
2881 IMMUTABLE STRICT;
2883 CREATE OPERATOR CLASS issn13_ops DEFAULT
2884 FOR TYPE issn13 USING btree FAMILY isn_ops AS
2885 OPERATOR 1 <,
2886 OPERATOR 2 <=,
2887 OPERATOR 3 =,
2888 OPERATOR 4 >=,
2889 OPERATOR 5 >,
2890 FUNCTION 1 btissn13cmp(issn13, issn13);
2892 CREATE OR REPLACE FUNCTION hashissn13(issn13)
2893 RETURNS int4
2894 AS 'hashint8'
2895 LANGUAGE 'internal'
2896 IMMUTABLE STRICT;
2898 CREATE OPERATOR CLASS issn13_ops DEFAULT
2899 FOR TYPE issn13 USING hash FAMILY isn_ops AS
2900 OPERATOR 1 =,
2901 FUNCTION 1 hashissn13(issn13);
2903 -- ISSN13 vs other types:
2904 CREATE OR REPLACE FUNCTION btissn13cmp(issn13, ean13)
2905 RETURNS int4
2906 AS 'btint8cmp'
2907 LANGUAGE 'internal'
2908 IMMUTABLE STRICT;
2909 CREATE OR REPLACE FUNCTION btissn13cmp(issn13, issn)
2910 RETURNS int4
2911 AS 'btint8cmp'
2912 LANGUAGE 'internal'
2913 IMMUTABLE STRICT;
2915 ALTER OPERATOR FAMILY isn_ops USING btree ADD
2916 OPERATOR 1 < (issn13, ean13),
2917 OPERATOR 1 < (issn13, issn),
2918 OPERATOR 2 <= (issn13, ean13),
2919 OPERATOR 2 <= (issn13, issn),
2920 OPERATOR 3 = (issn13, ean13),
2921 OPERATOR 3 = (issn13, issn),
2922 OPERATOR 4 >= (issn13, ean13),
2923 OPERATOR 4 >= (issn13, issn),
2924 OPERATOR 5 > (issn13, ean13),
2925 OPERATOR 5 > (issn13, issn),
2926 FUNCTION 1 btissn13cmp(issn13, ean13),
2927 FUNCTION 1 btissn13cmp(issn13, issn);
2929 ALTER OPERATOR FAMILY isn_ops USING hash ADD
2930 OPERATOR 1 = (issn13, ean13),
2931 OPERATOR 1 = (issn13, issn);
2933 ---------------------------------------------------
2934 -- ISSN:
2935 CREATE OR REPLACE FUNCTION btissncmp(issn, issn)
2936 RETURNS int4
2937 AS 'btint8cmp'
2938 LANGUAGE 'internal'
2939 IMMUTABLE STRICT;
2941 CREATE OPERATOR CLASS issn_ops DEFAULT
2942 FOR TYPE issn USING btree FAMILY isn_ops AS
2943 OPERATOR 1 <,
2944 OPERATOR 2 <=,
2945 OPERATOR 3 =,
2946 OPERATOR 4 >=,
2947 OPERATOR 5 >,
2948 FUNCTION 1 btissncmp(issn, issn);
2950 CREATE OR REPLACE FUNCTION hashissn(issn)
2951 RETURNS int4
2952 AS 'hashint8'
2953 LANGUAGE 'internal'
2954 IMMUTABLE STRICT;
2956 CREATE OPERATOR CLASS issn_ops DEFAULT
2957 FOR TYPE issn USING hash FAMILY isn_ops AS
2958 OPERATOR 1 =,
2959 FUNCTION 1 hashissn(issn);
2961 -- ISSN vs other types:
2962 CREATE OR REPLACE FUNCTION btissncmp(issn, ean13)
2963 RETURNS int4
2964 AS 'btint8cmp'
2965 LANGUAGE 'internal'
2966 IMMUTABLE STRICT;
2967 CREATE OR REPLACE FUNCTION btissncmp(issn, issn13)
2968 RETURNS int4
2969 AS 'btint8cmp'
2970 LANGUAGE 'internal'
2971 IMMUTABLE STRICT;
2973 ALTER OPERATOR FAMILY isn_ops USING btree ADD
2974 OPERATOR 1 < (issn, ean13),
2975 OPERATOR 1 < (issn, issn13),
2976 OPERATOR 2 <= (issn, ean13),
2977 OPERATOR 2 <= (issn, issn13),
2978 OPERATOR 3 = (issn, ean13),
2979 OPERATOR 3 = (issn, issn13),
2980 OPERATOR 4 >= (issn, ean13),
2981 OPERATOR 4 >= (issn, issn13),
2982 OPERATOR 5 > (issn, ean13),
2983 OPERATOR 5 > (issn, issn13),
2984 FUNCTION 1 btissncmp(issn, ean13),
2985 FUNCTION 1 btissncmp(issn, issn13);
2987 ALTER OPERATOR FAMILY isn_ops USING hash ADD
2988 OPERATOR 1 = (issn, ean13),
2989 OPERATOR 1 = (issn, issn13);
2991 ---------------------------------------------------
2992 -- UPC:
2993 CREATE OR REPLACE FUNCTION btupccmp(upc, upc)
2994 RETURNS int4
2995 AS 'btint8cmp'
2996 LANGUAGE 'internal'
2997 IMMUTABLE STRICT;
2999 CREATE OPERATOR CLASS upc_ops DEFAULT
3000 FOR TYPE upc USING btree FAMILY isn_ops AS
3001 OPERATOR 1 <,
3002 OPERATOR 2 <=,
3003 OPERATOR 3 =,
3004 OPERATOR 4 >=,
3005 OPERATOR 5 >,
3006 FUNCTION 1 btupccmp(upc, upc);
3008 CREATE OR REPLACE FUNCTION hashupc(upc)
3009 RETURNS int4
3010 AS 'hashint8'
3011 LANGUAGE 'internal'
3012 IMMUTABLE STRICT;
3014 CREATE OPERATOR CLASS upc_ops DEFAULT
3015 FOR TYPE upc USING hash FAMILY isn_ops AS
3016 OPERATOR 1 =,
3017 FUNCTION 1 hashupc(upc);
3019 -- UPC vs other types:
3020 CREATE OR REPLACE FUNCTION btupccmp(upc, ean13)
3021 RETURNS int4
3022 AS 'btint8cmp'
3023 LANGUAGE 'internal'
3024 IMMUTABLE STRICT;
3026 ALTER OPERATOR FAMILY isn_ops USING btree ADD
3027 OPERATOR 1 < (upc, ean13),
3028 OPERATOR 2 <= (upc, ean13),
3029 OPERATOR 3 = (upc, ean13),
3030 OPERATOR 4 >= (upc, ean13),
3031 OPERATOR 5 > (upc, ean13),
3032 FUNCTION 1 btupccmp(upc, ean13);
3034 ALTER OPERATOR FAMILY isn_ops USING hash ADD
3035 OPERATOR 1 = (upc, ean13);
3038 -- Type casts:
3040 ---------------------------------------------------
3041 CREATE OR REPLACE FUNCTION isbn13(ean13)
3042 RETURNS isbn13
3043 AS 'MODULE_PATHNAME', 'isbn_cast_from_ean13'
3044 LANGUAGE 'C' IMMUTABLE STRICT;
3045 CREATE OR REPLACE FUNCTION ismn13(ean13)
3046 RETURNS ismn13
3047 AS 'MODULE_PATHNAME', 'ismn_cast_from_ean13'
3048 LANGUAGE 'C' IMMUTABLE STRICT;
3049 CREATE OR REPLACE FUNCTION issn13(ean13)
3050 RETURNS issn13
3051 AS 'MODULE_PATHNAME', 'issn_cast_from_ean13'
3052 LANGUAGE 'C' IMMUTABLE STRICT;
3053 CREATE OR REPLACE FUNCTION isbn(ean13)
3054 RETURNS isbn
3055 AS 'MODULE_PATHNAME', 'isbn_cast_from_ean13'
3056 LANGUAGE 'C' IMMUTABLE STRICT;
3057 CREATE OR REPLACE FUNCTION ismn(ean13)
3058 RETURNS ismn
3059 AS 'MODULE_PATHNAME', 'ismn_cast_from_ean13'
3060 LANGUAGE 'C' IMMUTABLE STRICT;
3061 CREATE OR REPLACE FUNCTION issn(ean13)
3062 RETURNS issn
3063 AS 'MODULE_PATHNAME', 'issn_cast_from_ean13'
3064 LANGUAGE 'C' IMMUTABLE STRICT;
3065 CREATE OR REPLACE FUNCTION upc(ean13)
3066 RETURNS upc
3067 AS 'MODULE_PATHNAME', 'upc_cast_from_ean13'
3068 LANGUAGE 'C' IMMUTABLE STRICT;
3071 CREATE CAST (ean13 AS isbn13) WITH FUNCTION isbn13(ean13);
3072 CREATE CAST (ean13 AS isbn) WITH FUNCTION isbn(ean13);
3073 CREATE CAST (ean13 AS ismn13) WITH FUNCTION ismn13(ean13);
3074 CREATE CAST (ean13 AS ismn) WITH FUNCTION ismn(ean13);
3075 CREATE CAST (ean13 AS issn13) WITH FUNCTION issn13(ean13);
3076 CREATE CAST (ean13 AS issn) WITH FUNCTION issn(ean13);
3077 CREATE CAST (ean13 AS upc) WITH FUNCTION upc(ean13);
3079 CREATE CAST (isbn13 AS ean13) WITHOUT FUNCTION AS ASSIGNMENT;
3080 CREATE CAST (isbn AS ean13) WITHOUT FUNCTION AS ASSIGNMENT;
3081 CREATE CAST (ismn13 AS ean13) WITHOUT FUNCTION AS ASSIGNMENT;
3082 CREATE CAST (ismn AS ean13) WITHOUT FUNCTION AS ASSIGNMENT;
3083 CREATE CAST (issn13 AS ean13) WITHOUT FUNCTION AS ASSIGNMENT;
3084 CREATE CAST (issn AS ean13) WITHOUT FUNCTION AS ASSIGNMENT;
3085 CREATE CAST (upc AS ean13) WITHOUT FUNCTION AS ASSIGNMENT;
3087 CREATE CAST (isbn AS isbn13) WITHOUT FUNCTION AS ASSIGNMENT;
3088 CREATE CAST (isbn13 AS isbn) WITHOUT FUNCTION AS ASSIGNMENT;
3089 CREATE CAST (ismn AS ismn13) WITHOUT FUNCTION AS ASSIGNMENT;
3090 CREATE CAST (ismn13 AS ismn) WITHOUT FUNCTION AS ASSIGNMENT;
3091 CREATE CAST (issn AS issn13) WITHOUT FUNCTION AS ASSIGNMENT;
3092 CREATE CAST (issn13 AS issn) WITHOUT FUNCTION AS ASSIGNMENT;
3095 -- Validation stuff for lose types:
3097 CREATE OR REPLACE FUNCTION make_valid(ean13)
3098 RETURNS ean13
3099 AS 'MODULE_PATHNAME'
3100 LANGUAGE 'C'
3101 IMMUTABLE STRICT;
3102 CREATE OR REPLACE FUNCTION make_valid(isbn13)
3103 RETURNS isbn13
3104 AS 'MODULE_PATHNAME'
3105 LANGUAGE 'C'
3106 IMMUTABLE STRICT;
3107 CREATE OR REPLACE FUNCTION make_valid(ismn13)
3108 RETURNS ismn13
3109 AS 'MODULE_PATHNAME'
3110 LANGUAGE 'C'
3111 IMMUTABLE STRICT;
3112 CREATE OR REPLACE FUNCTION make_valid(issn13)
3113 RETURNS issn13
3114 AS 'MODULE_PATHNAME'
3115 LANGUAGE 'C'
3116 IMMUTABLE STRICT;
3117 CREATE OR REPLACE FUNCTION make_valid(isbn)
3118 RETURNS isbn
3119 AS 'MODULE_PATHNAME'
3120 LANGUAGE 'C'
3121 IMMUTABLE STRICT;
3122 CREATE OR REPLACE FUNCTION make_valid(ismn)
3123 RETURNS ismn
3124 AS 'MODULE_PATHNAME'
3125 LANGUAGE 'C'
3126 IMMUTABLE STRICT;
3127 CREATE OR REPLACE FUNCTION make_valid(issn)
3128 RETURNS issn
3129 AS 'MODULE_PATHNAME'
3130 LANGUAGE 'C'
3131 IMMUTABLE STRICT;
3132 CREATE OR REPLACE FUNCTION make_valid(upc)
3133 RETURNS upc
3134 AS 'MODULE_PATHNAME'
3135 LANGUAGE 'C'
3136 IMMUTABLE STRICT;
3138 CREATE OR REPLACE FUNCTION is_valid(ean13)
3139 RETURNS boolean
3140 AS 'MODULE_PATHNAME'
3141 LANGUAGE 'C'
3142 IMMUTABLE STRICT;
3143 CREATE OR REPLACE FUNCTION is_valid(isbn13)
3144 RETURNS boolean
3145 AS 'MODULE_PATHNAME'
3146 LANGUAGE 'C'
3147 IMMUTABLE STRICT;
3148 CREATE OR REPLACE FUNCTION is_valid(ismn13)
3149 RETURNS boolean
3150 AS 'MODULE_PATHNAME'
3151 LANGUAGE 'C'
3152 IMMUTABLE STRICT;
3153 CREATE OR REPLACE FUNCTION is_valid(issn13)
3154 RETURNS boolean
3155 AS 'MODULE_PATHNAME'
3156 LANGUAGE 'C'
3157 IMMUTABLE STRICT;
3158 CREATE OR REPLACE FUNCTION is_valid(isbn)
3159 RETURNS boolean
3160 AS 'MODULE_PATHNAME'
3161 LANGUAGE 'C'
3162 IMMUTABLE STRICT;
3163 CREATE OR REPLACE FUNCTION is_valid(ismn)
3164 RETURNS boolean
3165 AS 'MODULE_PATHNAME'
3166 LANGUAGE 'C'
3167 IMMUTABLE STRICT;
3168 CREATE OR REPLACE FUNCTION is_valid(issn)
3169 RETURNS boolean
3170 AS 'MODULE_PATHNAME'
3171 LANGUAGE 'C'
3172 IMMUTABLE STRICT;
3173 CREATE OR REPLACE FUNCTION is_valid(upc)
3174 RETURNS boolean
3175 AS 'MODULE_PATHNAME'
3176 LANGUAGE 'C'
3177 IMMUTABLE STRICT;
3180 -- isn_weak(boolean) - Sets the weak input mode.
3181 -- This function is intended for testing use only!
3183 CREATE OR REPLACE FUNCTION isn_weak(boolean)
3184 RETURNS boolean
3185 AS 'MODULE_PATHNAME', 'accept_weak_input'
3186 LANGUAGE 'C'
3187 IMMUTABLE STRICT;
3190 -- isn_weak() - Gets the weak input mode status
3192 CREATE OR REPLACE FUNCTION isn_weak()
3193 RETURNS boolean
3194 AS 'MODULE_PATHNAME', 'weak_input_status'
3195 LANGUAGE 'C'
3196 IMMUTABLE STRICT;