3 -- Adjust this setting to control where the objects get created.
4 SET search_path
= public;
7 -- create table test ( id isbn );
8 -- insert into test values('978-0-393-04002-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
)
23 CREATE OR REPLACE FUNCTION ean13_out(ean13
)
31 LIKE = pg_catalog.int8
34 IS 'International European Article Number (EAN13)';
36 CREATE OR REPLACE FUNCTION isbn13_in(cstring
)
38 AS 'MODULE_PATHNAME', 'isbn_in'
41 CREATE OR REPLACE FUNCTION ean13_out(isbn13
)
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
)
56 AS 'MODULE_PATHNAME', 'ismn_in'
59 CREATE OR REPLACE FUNCTION ean13_out(ismn13
)
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
)
74 AS 'MODULE_PATHNAME', 'issn_in'
77 CREATE OR REPLACE FUNCTION ean13_out(issn13
)
85 LIKE = pg_catalog.int8
87 COMMENT ON TYPE issn13
88 IS 'International Standard Serial Number 13 (ISSN13)';
92 CREATE OR REPLACE FUNCTION isbn_in(cstring
)
97 CREATE OR REPLACE FUNCTION isn_out(isbn
)
105 LIKE = pg_catalog.int8
108 IS 'International Standard Book Number (ISBN)';
110 CREATE OR REPLACE FUNCTION ismn_in(cstring
)
115 CREATE OR REPLACE FUNCTION isn_out(ismn
)
123 LIKE = pg_catalog.int8
126 IS 'International Standard Music Number (ISMN)';
128 CREATE OR REPLACE FUNCTION issn_in(cstring
)
133 CREATE OR REPLACE FUNCTION isn_out(issn
)
141 LIKE = pg_catalog.int8
144 IS 'International Standard Serial Number (ISSN)';
146 CREATE OR REPLACE FUNCTION upc_in(cstring
)
151 CREATE OR REPLACE FUNCTION isn_out(upc
)
159 LIKE = pg_catalog.int8
162 IS 'Universal Product Code (UPC)';
165 -- Operator functions:
167 ---------------------------------------------------
169 CREATE OR REPLACE FUNCTION isnlt(ean13
, ean13
)
174 CREATE OR REPLACE FUNCTION isnle(ean13
, ean13
)
179 CREATE OR REPLACE FUNCTION isneq(ean13
, ean13
)
184 CREATE OR REPLACE FUNCTION isnge(ean13
, ean13
)
189 CREATE OR REPLACE FUNCTION isngt(ean13
, ean13
)
194 CREATE OR REPLACE FUNCTION isnne(ean13
, ean13
)
200 CREATE OR REPLACE FUNCTION isnlt(ean13
, isbn13
)
205 CREATE OR REPLACE FUNCTION isnle(ean13
, isbn13
)
210 CREATE OR REPLACE FUNCTION isneq(ean13
, isbn13
)
215 CREATE OR REPLACE FUNCTION isnge(ean13
, isbn13
)
220 CREATE OR REPLACE FUNCTION isngt(ean13
, isbn13
)
225 CREATE OR REPLACE FUNCTION isnne(ean13
, isbn13
)
231 CREATE OR REPLACE FUNCTION isnlt(ean13
, ismn13
)
236 CREATE OR REPLACE FUNCTION isnle(ean13
, ismn13
)
241 CREATE OR REPLACE FUNCTION isneq(ean13
, ismn13
)
246 CREATE OR REPLACE FUNCTION isnge(ean13
, ismn13
)
251 CREATE OR REPLACE FUNCTION isngt(ean13
, ismn13
)
256 CREATE OR REPLACE FUNCTION isnne(ean13
, ismn13
)
262 CREATE OR REPLACE FUNCTION isnlt(ean13
, issn13
)
267 CREATE OR REPLACE FUNCTION isnle(ean13
, issn13
)
272 CREATE OR REPLACE FUNCTION isneq(ean13
, issn13
)
277 CREATE OR REPLACE FUNCTION isnge(ean13
, issn13
)
282 CREATE OR REPLACE FUNCTION isngt(ean13
, issn13
)
287 CREATE OR REPLACE FUNCTION isnne(ean13
, issn13
)
293 CREATE OR REPLACE FUNCTION isnlt(ean13
, isbn
)
298 CREATE OR REPLACE FUNCTION isnle(ean13
, isbn
)
303 CREATE OR REPLACE FUNCTION isneq(ean13
, isbn
)
308 CREATE OR REPLACE FUNCTION isnge(ean13
, isbn
)
313 CREATE OR REPLACE FUNCTION isngt(ean13
, isbn
)
318 CREATE OR REPLACE FUNCTION isnne(ean13
, isbn
)
324 CREATE OR REPLACE FUNCTION isnlt(ean13
, ismn
)
329 CREATE OR REPLACE FUNCTION isnle(ean13
, ismn
)
334 CREATE OR REPLACE FUNCTION isneq(ean13
, ismn
)
339 CREATE OR REPLACE FUNCTION isnge(ean13
, ismn
)
344 CREATE OR REPLACE FUNCTION isngt(ean13
, ismn
)
349 CREATE OR REPLACE FUNCTION isnne(ean13
, ismn
)
355 CREATE OR REPLACE FUNCTION isnlt(ean13
, issn
)
360 CREATE OR REPLACE FUNCTION isnle(ean13
, issn
)
365 CREATE OR REPLACE FUNCTION isneq(ean13
, issn
)
370 CREATE OR REPLACE FUNCTION isnge(ean13
, issn
)
375 CREATE OR REPLACE FUNCTION isngt(ean13
, issn
)
380 CREATE OR REPLACE FUNCTION isnne(ean13
, issn
)
386 CREATE OR REPLACE FUNCTION isnlt(ean13
, upc
)
391 CREATE OR REPLACE FUNCTION isnle(ean13
, upc
)
396 CREATE OR REPLACE FUNCTION isneq(ean13
, upc
)
401 CREATE OR REPLACE FUNCTION isnge(ean13
, upc
)
406 CREATE OR REPLACE FUNCTION isngt(ean13
, upc
)
411 CREATE OR REPLACE FUNCTION isnne(ean13
, upc
)
417 ---------------------------------------------------
419 CREATE OR REPLACE FUNCTION isnlt(isbn13
, isbn13
)
424 CREATE OR REPLACE FUNCTION isnle(isbn13
, isbn13
)
429 CREATE OR REPLACE FUNCTION isneq(isbn13
, isbn13
)
434 CREATE OR REPLACE FUNCTION isnge(isbn13
, isbn13
)
439 CREATE OR REPLACE FUNCTION isngt(isbn13
, isbn13
)
444 CREATE OR REPLACE FUNCTION isnne(isbn13
, isbn13
)
450 CREATE OR REPLACE FUNCTION isnlt(isbn13
, isbn
)
455 CREATE OR REPLACE FUNCTION isnle(isbn13
, isbn
)
460 CREATE OR REPLACE FUNCTION isneq(isbn13
, isbn
)
465 CREATE OR REPLACE FUNCTION isnge(isbn13
, isbn
)
470 CREATE OR REPLACE FUNCTION isngt(isbn13
, isbn
)
475 CREATE OR REPLACE FUNCTION isnne(isbn13
, isbn
)
481 CREATE OR REPLACE FUNCTION isnlt(isbn13
, ean13
)
486 CREATE OR REPLACE FUNCTION isnle(isbn13
, ean13
)
491 CREATE OR REPLACE FUNCTION isneq(isbn13
, ean13
)
496 CREATE OR REPLACE FUNCTION isnge(isbn13
, ean13
)
501 CREATE OR REPLACE FUNCTION isngt(isbn13
, ean13
)
506 CREATE OR REPLACE FUNCTION isnne(isbn13
, ean13
)
512 ---------------------------------------------------
514 CREATE OR REPLACE FUNCTION isnlt(isbn
, isbn
)
519 CREATE OR REPLACE FUNCTION isnle(isbn
, isbn
)
524 CREATE OR REPLACE FUNCTION isneq(isbn
, isbn
)
529 CREATE OR REPLACE FUNCTION isnge(isbn
, isbn
)
534 CREATE OR REPLACE FUNCTION isngt(isbn
, isbn
)
539 CREATE OR REPLACE FUNCTION isnne(isbn
, isbn
)
545 CREATE OR REPLACE FUNCTION isnlt(isbn
, isbn13
)
550 CREATE OR REPLACE FUNCTION isnle(isbn
, isbn13
)
555 CREATE OR REPLACE FUNCTION isneq(isbn
, isbn13
)
560 CREATE OR REPLACE FUNCTION isnge(isbn
, isbn13
)
565 CREATE OR REPLACE FUNCTION isngt(isbn
, isbn13
)
570 CREATE OR REPLACE FUNCTION isnne(isbn
, isbn13
)
576 CREATE OR REPLACE FUNCTION isnlt(isbn
, ean13
)
581 CREATE OR REPLACE FUNCTION isnle(isbn
, ean13
)
586 CREATE OR REPLACE FUNCTION isneq(isbn
, ean13
)
591 CREATE OR REPLACE FUNCTION isnge(isbn
, ean13
)
596 CREATE OR REPLACE FUNCTION isngt(isbn
, ean13
)
601 CREATE OR REPLACE FUNCTION isnne(isbn
, ean13
)
607 ---------------------------------------------------
609 CREATE OR REPLACE FUNCTION isnlt(ismn13
, ismn13
)
614 CREATE OR REPLACE FUNCTION isnle(ismn13
, ismn13
)
619 CREATE OR REPLACE FUNCTION isneq(ismn13
, ismn13
)
624 CREATE OR REPLACE FUNCTION isnge(ismn13
, ismn13
)
629 CREATE OR REPLACE FUNCTION isngt(ismn13
, ismn13
)
634 CREATE OR REPLACE FUNCTION isnne(ismn13
, ismn13
)
640 CREATE OR REPLACE FUNCTION isnlt(ismn13
, ismn
)
645 CREATE OR REPLACE FUNCTION isnle(ismn13
, ismn
)
650 CREATE OR REPLACE FUNCTION isneq(ismn13
, ismn
)
655 CREATE OR REPLACE FUNCTION isnge(ismn13
, ismn
)
660 CREATE OR REPLACE FUNCTION isngt(ismn13
, ismn
)
665 CREATE OR REPLACE FUNCTION isnne(ismn13
, ismn
)
671 CREATE OR REPLACE FUNCTION isnlt(ismn13
, ean13
)
676 CREATE OR REPLACE FUNCTION isnle(ismn13
, ean13
)
681 CREATE OR REPLACE FUNCTION isneq(ismn13
, ean13
)
686 CREATE OR REPLACE FUNCTION isnge(ismn13
, ean13
)
691 CREATE OR REPLACE FUNCTION isngt(ismn13
, ean13
)
696 CREATE OR REPLACE FUNCTION isnne(ismn13
, ean13
)
702 ---------------------------------------------------
704 CREATE OR REPLACE FUNCTION isnlt(ismn
, ismn
)
709 CREATE OR REPLACE FUNCTION isnle(ismn
, ismn
)
714 CREATE OR REPLACE FUNCTION isneq(ismn
, ismn
)
719 CREATE OR REPLACE FUNCTION isnge(ismn
, ismn
)
724 CREATE OR REPLACE FUNCTION isngt(ismn
, ismn
)
729 CREATE OR REPLACE FUNCTION isnne(ismn
, ismn
)
735 CREATE OR REPLACE FUNCTION isnlt(ismn
, ismn13
)
740 CREATE OR REPLACE FUNCTION isnle(ismn
, ismn13
)
745 CREATE OR REPLACE FUNCTION isneq(ismn
, ismn13
)
750 CREATE OR REPLACE FUNCTION isnge(ismn
, ismn13
)
755 CREATE OR REPLACE FUNCTION isngt(ismn
, ismn13
)
760 CREATE OR REPLACE FUNCTION isnne(ismn
, ismn13
)
766 CREATE OR REPLACE FUNCTION isnlt(ismn
, ean13
)
771 CREATE OR REPLACE FUNCTION isnle(ismn
, ean13
)
776 CREATE OR REPLACE FUNCTION isneq(ismn
, ean13
)
781 CREATE OR REPLACE FUNCTION isnge(ismn
, ean13
)
786 CREATE OR REPLACE FUNCTION isngt(ismn
, ean13
)
791 CREATE OR REPLACE FUNCTION isnne(ismn
, ean13
)
797 ---------------------------------------------------
799 CREATE OR REPLACE FUNCTION isnlt(issn13
, issn13
)
804 CREATE OR REPLACE FUNCTION isnle(issn13
, issn13
)
809 CREATE OR REPLACE FUNCTION isneq(issn13
, issn13
)
814 CREATE OR REPLACE FUNCTION isnge(issn13
, issn13
)
819 CREATE OR REPLACE FUNCTION isngt(issn13
, issn13
)
824 CREATE OR REPLACE FUNCTION isnne(issn13
, issn13
)
830 CREATE OR REPLACE FUNCTION isnlt(issn13
, issn
)
835 CREATE OR REPLACE FUNCTION isnle(issn13
, issn
)
840 CREATE OR REPLACE FUNCTION isneq(issn13
, issn
)
845 CREATE OR REPLACE FUNCTION isnge(issn13
, issn
)
850 CREATE OR REPLACE FUNCTION isngt(issn13
, issn
)
855 CREATE OR REPLACE FUNCTION isnne(issn13
, issn
)
861 CREATE OR REPLACE FUNCTION isnlt(issn13
, ean13
)
866 CREATE OR REPLACE FUNCTION isnle(issn13
, ean13
)
871 CREATE OR REPLACE FUNCTION isneq(issn13
, ean13
)
876 CREATE OR REPLACE FUNCTION isnge(issn13
, ean13
)
881 CREATE OR REPLACE FUNCTION isngt(issn13
, ean13
)
886 CREATE OR REPLACE FUNCTION isnne(issn13
, ean13
)
892 ---------------------------------------------------
894 CREATE OR REPLACE FUNCTION isnlt(issn
, issn
)
899 CREATE OR REPLACE FUNCTION isnle(issn
, issn
)
904 CREATE OR REPLACE FUNCTION isneq(issn
, issn
)
909 CREATE OR REPLACE FUNCTION isnge(issn
, issn
)
914 CREATE OR REPLACE FUNCTION isngt(issn
, issn
)
919 CREATE OR REPLACE FUNCTION isnne(issn
, issn
)
925 CREATE OR REPLACE FUNCTION isnlt(issn
, issn13
)
930 CREATE OR REPLACE FUNCTION isnle(issn
, issn13
)
935 CREATE OR REPLACE FUNCTION isneq(issn
, issn13
)
940 CREATE OR REPLACE FUNCTION isnge(issn
, issn13
)
945 CREATE OR REPLACE FUNCTION isngt(issn
, issn13
)
950 CREATE OR REPLACE FUNCTION isnne(issn
, issn13
)
956 CREATE OR REPLACE FUNCTION isnlt(issn
, ean13
)
961 CREATE OR REPLACE FUNCTION isnle(issn
, ean13
)
966 CREATE OR REPLACE FUNCTION isneq(issn
, ean13
)
971 CREATE OR REPLACE FUNCTION isnge(issn
, ean13
)
976 CREATE OR REPLACE FUNCTION isngt(issn
, ean13
)
981 CREATE OR REPLACE FUNCTION isnne(issn
, ean13
)
987 ---------------------------------------------------
989 CREATE OR REPLACE FUNCTION isnlt(upc
, upc
)
994 CREATE OR REPLACE FUNCTION isnle(upc
, upc
)
999 CREATE OR REPLACE FUNCTION isneq(upc
, upc
)
1004 CREATE OR REPLACE FUNCTION isnge(upc
, upc
)
1009 CREATE OR REPLACE FUNCTION isngt(upc
, upc
)
1014 CREATE OR REPLACE FUNCTION isnne(upc
, upc
)
1020 CREATE OR REPLACE FUNCTION isnlt(upc
, ean13
)
1025 CREATE OR REPLACE FUNCTION isnle(upc
, ean13
)
1030 CREATE OR REPLACE FUNCTION isneq(upc
, ean13
)
1035 CREATE OR REPLACE FUNCTION isnge(upc
, ean13
)
1040 CREATE OR REPLACE FUNCTION isngt(upc
, ean13
)
1045 CREATE OR REPLACE FUNCTION isnne(upc
, ean13
)
1052 -- Now the operators:
1058 ---------------------------------------------------
1065 RESTRICT = scalarltsel
,
1066 JOIN = scalarltjoinsel
);
1067 CREATE OPERATOR <= (
1073 RESTRICT = scalarltsel
,
1074 JOIN = scalarltjoinsel
);
1085 CREATE OPERATOR >= (
1091 RESTRICT = scalargtsel
,
1092 JOIN = scalargtjoinsel
);
1099 RESTRICT = scalargtsel
,
1100 JOIN = scalargtjoinsel
);
1101 CREATE OPERATOR <> (
1116 RESTRICT = scalarltsel
,
1117 JOIN = scalarltjoinsel
);
1118 CREATE OPERATOR <= (
1124 RESTRICT = scalarltsel
,
1125 JOIN = scalarltjoinsel
);
1136 CREATE OPERATOR >= (
1142 RESTRICT = scalargtsel
,
1143 JOIN = scalargtjoinsel
);
1150 RESTRICT = scalargtsel
,
1151 JOIN = scalargtjoinsel
);
1152 CREATE OPERATOR <> (
1167 RESTRICT = scalarltsel
,
1168 JOIN = scalarltjoinsel
);
1169 CREATE OPERATOR <= (
1175 RESTRICT = scalarltsel
,
1176 JOIN = scalarltjoinsel
);
1187 CREATE OPERATOR >= (
1193 RESTRICT = scalargtsel
,
1194 JOIN = scalargtjoinsel
);
1201 RESTRICT = scalargtsel
,
1202 JOIN = scalargtjoinsel
);
1203 CREATE OPERATOR <> (
1218 RESTRICT = scalarltsel
,
1219 JOIN = scalarltjoinsel
);
1220 CREATE OPERATOR <= (
1226 RESTRICT = scalarltsel
,
1227 JOIN = scalarltjoinsel
);
1238 CREATE OPERATOR >= (
1244 RESTRICT = scalargtsel
,
1245 JOIN = scalargtjoinsel
);
1252 RESTRICT = scalargtsel
,
1253 JOIN = scalargtjoinsel
);
1254 CREATE OPERATOR <> (
1269 RESTRICT = scalarltsel
,
1270 JOIN = scalarltjoinsel
);
1271 CREATE OPERATOR <= (
1277 RESTRICT = scalarltsel
,
1278 JOIN = scalarltjoinsel
);
1289 CREATE OPERATOR >= (
1295 RESTRICT = scalargtsel
,
1296 JOIN = scalargtjoinsel
);
1303 RESTRICT = scalargtsel
,
1304 JOIN = scalargtjoinsel
);
1305 CREATE OPERATOR <> (
1320 RESTRICT = scalarltsel
,
1321 JOIN = scalarltjoinsel
);
1322 CREATE OPERATOR <= (
1328 RESTRICT = scalarltsel
,
1329 JOIN = scalarltjoinsel
);
1340 CREATE OPERATOR >= (
1346 RESTRICT = scalargtsel
,
1347 JOIN = scalargtjoinsel
);
1354 RESTRICT = scalargtsel
,
1355 JOIN = scalargtjoinsel
);
1356 CREATE OPERATOR <> (
1371 RESTRICT = scalarltsel
,
1372 JOIN = scalarltjoinsel
);
1373 CREATE OPERATOR <= (
1379 RESTRICT = scalarltsel
,
1380 JOIN = scalarltjoinsel
);
1391 CREATE OPERATOR >= (
1397 RESTRICT = scalargtsel
,
1398 JOIN = scalargtjoinsel
);
1405 RESTRICT = scalargtsel
,
1406 JOIN = scalargtjoinsel
);
1407 CREATE OPERATOR <> (
1422 RESTRICT = scalarltsel
,
1423 JOIN = scalarltjoinsel
);
1424 CREATE OPERATOR <= (
1430 RESTRICT = scalarltsel
,
1431 JOIN = scalarltjoinsel
);
1442 CREATE OPERATOR >= (
1448 RESTRICT = scalargtsel
,
1449 JOIN = scalargtjoinsel
);
1456 RESTRICT = scalargtsel
,
1457 JOIN = scalargtjoinsel
);
1458 CREATE OPERATOR <> (
1473 RESTRICT = scalarltsel
,
1474 JOIN = scalarltjoinsel
);
1475 CREATE OPERATOR <= (
1481 RESTRICT = scalarltsel
,
1482 JOIN = scalarltjoinsel
);
1493 CREATE OPERATOR >= (
1499 RESTRICT = scalargtsel
,
1500 JOIN = scalargtjoinsel
);
1507 RESTRICT = scalargtsel
,
1508 JOIN = scalargtjoinsel
);
1509 CREATE OPERATOR <> (
1524 RESTRICT = scalarltsel
,
1525 JOIN = scalarltjoinsel
);
1526 CREATE OPERATOR <= (
1532 RESTRICT = scalarltsel
,
1533 JOIN = scalarltjoinsel
);
1544 CREATE OPERATOR >= (
1550 RESTRICT = scalargtsel
,
1551 JOIN = scalargtjoinsel
);
1558 RESTRICT = scalargtsel
,
1559 JOIN = scalargtjoinsel
);
1560 CREATE OPERATOR <> (
1570 -- ISBN13 operators:
1572 ---------------------------------------------------
1579 RESTRICT = scalarltsel
,
1580 JOIN = scalarltjoinsel
);
1581 CREATE OPERATOR <= (
1587 RESTRICT = scalarltsel
,
1588 JOIN = scalarltjoinsel
);
1599 CREATE OPERATOR >= (
1605 RESTRICT = scalargtsel
,
1606 JOIN = scalargtjoinsel
);
1613 RESTRICT = scalargtsel
,
1614 JOIN = scalargtjoinsel
);
1615 CREATE OPERATOR <> (
1630 RESTRICT = scalarltsel
,
1631 JOIN = scalarltjoinsel
);
1632 CREATE OPERATOR <= (
1638 RESTRICT = scalarltsel
,
1639 JOIN = scalarltjoinsel
);
1650 CREATE OPERATOR >= (
1656 RESTRICT = scalargtsel
,
1657 JOIN = scalargtjoinsel
);
1664 RESTRICT = scalargtsel
,
1665 JOIN = scalargtjoinsel
);
1666 CREATE OPERATOR <> (
1678 ---------------------------------------------------
1685 RESTRICT = scalarltsel
,
1686 JOIN = scalarltjoinsel
);
1687 CREATE OPERATOR <= (
1693 RESTRICT = scalarltsel
,
1694 JOIN = scalarltjoinsel
);
1705 CREATE OPERATOR >= (
1711 RESTRICT = scalargtsel
,
1712 JOIN = scalargtjoinsel
);
1719 RESTRICT = scalargtsel
,
1720 JOIN = scalargtjoinsel
);
1721 CREATE OPERATOR <> (
1736 RESTRICT = scalarltsel
,
1737 JOIN = scalarltjoinsel
);
1738 CREATE OPERATOR <= (
1744 RESTRICT = scalarltsel
,
1745 JOIN = scalarltjoinsel
);
1756 CREATE OPERATOR >= (
1762 RESTRICT = scalargtsel
,
1763 JOIN = scalargtjoinsel
);
1770 RESTRICT = scalargtsel
,
1771 JOIN = scalargtjoinsel
);
1772 CREATE OPERATOR <> (
1787 RESTRICT = scalarltsel
,
1788 JOIN = scalarltjoinsel
);
1789 CREATE OPERATOR <= (
1795 RESTRICT = scalarltsel
,
1796 JOIN = scalarltjoinsel
);
1807 CREATE OPERATOR >= (
1813 RESTRICT = scalargtsel
,
1814 JOIN = scalargtjoinsel
);
1821 RESTRICT = scalargtsel
,
1822 JOIN = scalargtjoinsel
);
1823 CREATE OPERATOR <> (
1833 -- ISMN13 operators:
1835 ---------------------------------------------------
1842 RESTRICT = scalarltsel
,
1843 JOIN = scalarltjoinsel
);
1844 CREATE OPERATOR <= (
1850 RESTRICT = scalarltsel
,
1851 JOIN = scalarltjoinsel
);
1862 CREATE OPERATOR >= (
1868 RESTRICT = scalargtsel
,
1869 JOIN = scalargtjoinsel
);
1876 RESTRICT = scalargtsel
,
1877 JOIN = scalargtjoinsel
);
1878 CREATE OPERATOR <> (
1893 RESTRICT = scalarltsel
,
1894 JOIN = scalarltjoinsel
);
1895 CREATE OPERATOR <= (
1901 RESTRICT = scalarltsel
,
1902 JOIN = scalarltjoinsel
);
1913 CREATE OPERATOR >= (
1919 RESTRICT = scalargtsel
,
1920 JOIN = scalargtjoinsel
);
1927 RESTRICT = scalargtsel
,
1928 JOIN = scalargtjoinsel
);
1929 CREATE OPERATOR <> (
1941 ---------------------------------------------------
1948 RESTRICT = scalarltsel
,
1949 JOIN = scalarltjoinsel
);
1950 CREATE OPERATOR <= (
1956 RESTRICT = scalarltsel
,
1957 JOIN = scalarltjoinsel
);
1968 CREATE OPERATOR >= (
1974 RESTRICT = scalargtsel
,
1975 JOIN = scalargtjoinsel
);
1982 RESTRICT = scalargtsel
,
1983 JOIN = scalargtjoinsel
);
1984 CREATE OPERATOR <> (
1999 RESTRICT = scalarltsel
,
2000 JOIN = scalarltjoinsel
);
2001 CREATE OPERATOR <= (
2007 RESTRICT = scalarltsel
,
2008 JOIN = scalarltjoinsel
);
2019 CREATE OPERATOR >= (
2025 RESTRICT = scalargtsel
,
2026 JOIN = scalargtjoinsel
);
2033 RESTRICT = scalargtsel
,
2034 JOIN = scalargtjoinsel
);
2035 CREATE OPERATOR <> (
2050 RESTRICT = scalarltsel
,
2051 JOIN = scalarltjoinsel
);
2052 CREATE OPERATOR <= (
2058 RESTRICT = scalarltsel
,
2059 JOIN = scalarltjoinsel
);
2070 CREATE OPERATOR >= (
2076 RESTRICT = scalargtsel
,
2077 JOIN = scalargtjoinsel
);
2084 RESTRICT = scalargtsel
,
2085 JOIN = scalargtjoinsel
);
2086 CREATE OPERATOR <> (
2096 -- ISSN13 operators:
2098 ---------------------------------------------------
2105 RESTRICT = scalarltsel
,
2106 JOIN = scalarltjoinsel
);
2107 CREATE OPERATOR <= (
2113 RESTRICT = scalarltsel
,
2114 JOIN = scalarltjoinsel
);
2125 CREATE OPERATOR >= (
2131 RESTRICT = scalargtsel
,
2132 JOIN = scalargtjoinsel
);
2139 RESTRICT = scalargtsel
,
2140 JOIN = scalargtjoinsel
);
2141 CREATE OPERATOR <> (
2156 RESTRICT = scalarltsel
,
2157 JOIN = scalarltjoinsel
);
2158 CREATE OPERATOR <= (
2164 RESTRICT = scalarltsel
,
2165 JOIN = scalarltjoinsel
);
2176 CREATE OPERATOR >= (
2182 RESTRICT = scalargtsel
,
2183 JOIN = scalargtjoinsel
);
2190 RESTRICT = scalargtsel
,
2191 JOIN = scalargtjoinsel
);
2192 CREATE OPERATOR <> (
2207 RESTRICT = scalarltsel
,
2208 JOIN = scalarltjoinsel
);
2209 CREATE OPERATOR <= (
2215 RESTRICT = scalarltsel
,
2216 JOIN = scalarltjoinsel
);
2227 CREATE OPERATOR >= (
2233 RESTRICT = scalargtsel
,
2234 JOIN = scalargtjoinsel
);
2241 RESTRICT = scalargtsel
,
2242 JOIN = scalargtjoinsel
);
2243 CREATE OPERATOR <> (
2255 ---------------------------------------------------
2262 RESTRICT = scalarltsel
,
2263 JOIN = scalarltjoinsel
);
2264 CREATE OPERATOR <= (
2270 RESTRICT = scalarltsel
,
2271 JOIN = scalarltjoinsel
);
2282 CREATE OPERATOR >= (
2288 RESTRICT = scalargtsel
,
2289 JOIN = scalargtjoinsel
);
2296 RESTRICT = scalargtsel
,
2297 JOIN = scalargtjoinsel
);
2298 CREATE OPERATOR <> (
2313 RESTRICT = scalarltsel
,
2314 JOIN = scalarltjoinsel
);
2315 CREATE OPERATOR <= (
2321 RESTRICT = scalarltsel
,
2322 JOIN = scalarltjoinsel
);
2333 CREATE OPERATOR >= (
2339 RESTRICT = scalargtsel
,
2340 JOIN = scalargtjoinsel
);
2347 RESTRICT = scalargtsel
,
2348 JOIN = scalargtjoinsel
);
2349 CREATE OPERATOR <> (
2364 RESTRICT = scalarltsel
,
2365 JOIN = scalarltjoinsel
);
2366 CREATE OPERATOR <= (
2372 RESTRICT = scalarltsel
,
2373 JOIN = scalarltjoinsel
);
2384 CREATE OPERATOR >= (
2390 RESTRICT = scalargtsel
,
2391 JOIN = scalargtjoinsel
);
2398 RESTRICT = scalargtsel
,
2399 JOIN = scalargtjoinsel
);
2400 CREATE OPERATOR <> (
2412 ---------------------------------------------------
2419 RESTRICT = scalarltsel
,
2420 JOIN = scalarltjoinsel
);
2421 CREATE OPERATOR <= (
2427 RESTRICT = scalarltsel
,
2428 JOIN = scalarltjoinsel
);
2439 CREATE OPERATOR >= (
2445 RESTRICT = scalargtsel
,
2446 JOIN = scalargtjoinsel
);
2453 RESTRICT = scalargtsel
,
2454 JOIN = scalargtjoinsel
);
2455 CREATE OPERATOR <> (
2470 RESTRICT = scalarltsel
,
2471 JOIN = scalarltjoinsel
);
2472 CREATE OPERATOR <= (
2478 RESTRICT = scalarltsel
,
2479 JOIN = scalarltjoinsel
);
2490 CREATE OPERATOR >= (
2496 RESTRICT = scalargtsel
,
2497 JOIN = scalargtjoinsel
);
2504 RESTRICT = scalargtsel
,
2505 JOIN = scalargtjoinsel
);
2506 CREATE OPERATOR <> (
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 ---------------------------------------------------
2528 CREATE OR REPLACE FUNCTION btean13cmp(ean13
, ean13
)
2534 CREATE OPERATOR CLASS ean13_ops
DEFAULT
2535 FOR TYPE ean13
USING btree
FAMILY isn_ops
AS
2541 FUNCTION 1 btean13cmp(ean13
, ean13
);
2543 CREATE OR REPLACE FUNCTION hashean13(ean13
)
2546 LANGUAGE 'internal' IMMUTABLE STRICT;
2548 CREATE OPERATOR CLASS ean13_ops
DEFAULT
2549 FOR TYPE ean13
USING hash
FAMILY isn_ops
AS
2551 FUNCTION 1 hashean13(ean13
);
2553 -- EAN13 vs other types:
2554 CREATE OR REPLACE FUNCTION btean13cmp(ean13
, isbn13
)
2559 CREATE OR REPLACE FUNCTION btean13cmp(ean13
, ismn13
)
2564 CREATE OR REPLACE FUNCTION btean13cmp(ean13
, issn13
)
2569 CREATE OR REPLACE FUNCTION btean13cmp(ean13
, isbn
)
2574 CREATE OR REPLACE FUNCTION btean13cmp(ean13
, ismn
)
2579 CREATE OR REPLACE FUNCTION btean13cmp(ean13
, issn
)
2584 CREATE OR REPLACE FUNCTION btean13cmp(ean13
, upc
)
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 ---------------------------------------------------
2645 CREATE OR REPLACE FUNCTION btisbn13cmp(isbn13
, isbn13
)
2651 CREATE OPERATOR CLASS isbn13_ops
DEFAULT
2652 FOR TYPE isbn13
USING btree
FAMILY isn_ops
AS
2658 FUNCTION 1 btisbn13cmp(isbn13
, isbn13
);
2660 CREATE OR REPLACE FUNCTION hashisbn13(isbn13
)
2666 CREATE OPERATOR CLASS isbn13_ops
DEFAULT
2667 FOR TYPE isbn13
USING hash
FAMILY isn_ops
AS
2669 FUNCTION 1 hashisbn13(isbn13
);
2671 -- ISBN13 vs other types:
2672 CREATE OR REPLACE FUNCTION btisbn13cmp(isbn13
, ean13
)
2677 CREATE OR REPLACE FUNCTION btisbn13cmp(isbn13
, isbn
)
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 ---------------------------------------------------
2703 CREATE OR REPLACE FUNCTION btisbncmp(isbn
, isbn
)
2709 CREATE OPERATOR CLASS isbn_ops
DEFAULT
2710 FOR TYPE isbn
USING btree
FAMILY isn_ops
AS
2716 FUNCTION 1 btisbncmp(isbn
, isbn
);
2718 CREATE OR REPLACE FUNCTION hashisbn(isbn
)
2724 CREATE OPERATOR CLASS isbn_ops
DEFAULT
2725 FOR TYPE isbn
USING hash
FAMILY isn_ops
AS
2727 FUNCTION 1 hashisbn(isbn
);
2729 -- ISBN vs other types:
2730 CREATE OR REPLACE FUNCTION btisbncmp(isbn
, ean13
)
2735 CREATE OR REPLACE FUNCTION btisbncmp(isbn
, isbn13
)
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 ---------------------------------------------------
2761 CREATE OR REPLACE FUNCTION btismn13cmp(ismn13
, ismn13
)
2767 CREATE OPERATOR CLASS ismn13_ops
DEFAULT
2768 FOR TYPE ismn13
USING btree
FAMILY isn_ops
AS
2774 FUNCTION 1 btismn13cmp(ismn13
, ismn13
);
2776 CREATE OR REPLACE FUNCTION hashismn13(ismn13
)
2782 CREATE OPERATOR CLASS ismn13_ops
DEFAULT
2783 FOR TYPE ismn13
USING hash
FAMILY isn_ops
AS
2785 FUNCTION 1 hashismn13(ismn13
);
2787 -- ISMN13 vs other types:
2788 CREATE OR REPLACE FUNCTION btismn13cmp(ismn13
, ean13
)
2793 CREATE OR REPLACE FUNCTION btismn13cmp(ismn13
, ismn
)
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 ---------------------------------------------------
2819 CREATE OR REPLACE FUNCTION btismncmp(ismn
, ismn
)
2825 CREATE OPERATOR CLASS ismn_ops
DEFAULT
2826 FOR TYPE ismn
USING btree
FAMILY isn_ops
AS
2832 FUNCTION 1 btismncmp(ismn
, ismn
);
2834 CREATE OR REPLACE FUNCTION hashismn(ismn
)
2840 CREATE OPERATOR CLASS ismn_ops
DEFAULT
2841 FOR TYPE ismn
USING hash
FAMILY isn_ops
AS
2843 FUNCTION 1 hashismn(ismn
);
2845 -- ISMN vs other types:
2846 CREATE OR REPLACE FUNCTION btismncmp(ismn
, ean13
)
2851 CREATE OR REPLACE FUNCTION btismncmp(ismn
, ismn13
)
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 ---------------------------------------------------
2877 CREATE OR REPLACE FUNCTION btissn13cmp(issn13
, issn13
)
2883 CREATE OPERATOR CLASS issn13_ops
DEFAULT
2884 FOR TYPE issn13
USING btree
FAMILY isn_ops
AS
2890 FUNCTION 1 btissn13cmp(issn13
, issn13
);
2892 CREATE OR REPLACE FUNCTION hashissn13(issn13
)
2898 CREATE OPERATOR CLASS issn13_ops
DEFAULT
2899 FOR TYPE issn13
USING hash
FAMILY isn_ops
AS
2901 FUNCTION 1 hashissn13(issn13
);
2903 -- ISSN13 vs other types:
2904 CREATE OR REPLACE FUNCTION btissn13cmp(issn13
, ean13
)
2909 CREATE OR REPLACE FUNCTION btissn13cmp(issn13
, issn
)
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 ---------------------------------------------------
2935 CREATE OR REPLACE FUNCTION btissncmp(issn
, issn
)
2941 CREATE OPERATOR CLASS issn_ops
DEFAULT
2942 FOR TYPE issn
USING btree
FAMILY isn_ops
AS
2948 FUNCTION 1 btissncmp(issn
, issn
);
2950 CREATE OR REPLACE FUNCTION hashissn(issn
)
2956 CREATE OPERATOR CLASS issn_ops
DEFAULT
2957 FOR TYPE issn
USING hash
FAMILY isn_ops
AS
2959 FUNCTION 1 hashissn(issn
);
2961 -- ISSN vs other types:
2962 CREATE OR REPLACE FUNCTION btissncmp(issn
, ean13
)
2967 CREATE OR REPLACE FUNCTION btissncmp(issn
, issn13
)
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 ---------------------------------------------------
2993 CREATE OR REPLACE FUNCTION btupccmp(upc
, upc
)
2999 CREATE OPERATOR CLASS upc_ops
DEFAULT
3000 FOR TYPE upc
USING btree
FAMILY isn_ops
AS
3006 FUNCTION 1 btupccmp(upc
, upc
);
3008 CREATE OR REPLACE FUNCTION hashupc(upc
)
3014 CREATE OPERATOR CLASS upc_ops
DEFAULT
3015 FOR TYPE upc
USING hash
FAMILY isn_ops
AS
3017 FUNCTION 1 hashupc(upc
);
3019 -- UPC vs other types:
3020 CREATE OR REPLACE FUNCTION btupccmp(upc
, ean13
)
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
);
3040 ---------------------------------------------------
3041 CREATE OR REPLACE FUNCTION isbn13(ean13
)
3043 AS 'MODULE_PATHNAME', 'isbn_cast_from_ean13'
3044 LANGUAGE 'C' IMMUTABLE STRICT;
3045 CREATE OR REPLACE FUNCTION ismn13(ean13
)
3047 AS 'MODULE_PATHNAME', 'ismn_cast_from_ean13'
3048 LANGUAGE 'C' IMMUTABLE STRICT;
3049 CREATE OR REPLACE FUNCTION issn13(ean13
)
3051 AS 'MODULE_PATHNAME', 'issn_cast_from_ean13'
3052 LANGUAGE 'C' IMMUTABLE STRICT;
3053 CREATE OR REPLACE FUNCTION isbn(ean13
)
3055 AS 'MODULE_PATHNAME', 'isbn_cast_from_ean13'
3056 LANGUAGE 'C' IMMUTABLE STRICT;
3057 CREATE OR REPLACE FUNCTION ismn(ean13
)
3059 AS 'MODULE_PATHNAME', 'ismn_cast_from_ean13'
3060 LANGUAGE 'C' IMMUTABLE STRICT;
3061 CREATE OR REPLACE FUNCTION issn(ean13
)
3063 AS 'MODULE_PATHNAME', 'issn_cast_from_ean13'
3064 LANGUAGE 'C' IMMUTABLE STRICT;
3065 CREATE OR REPLACE FUNCTION upc(ean13
)
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
)
3099 AS 'MODULE_PATHNAME'
3102 CREATE OR REPLACE FUNCTION make_valid(isbn13
)
3104 AS 'MODULE_PATHNAME'
3107 CREATE OR REPLACE FUNCTION make_valid(ismn13
)
3109 AS 'MODULE_PATHNAME'
3112 CREATE OR REPLACE FUNCTION make_valid(issn13
)
3114 AS 'MODULE_PATHNAME'
3117 CREATE OR REPLACE FUNCTION make_valid(isbn
)
3119 AS 'MODULE_PATHNAME'
3122 CREATE OR REPLACE FUNCTION make_valid(ismn
)
3124 AS 'MODULE_PATHNAME'
3127 CREATE OR REPLACE FUNCTION make_valid(issn
)
3129 AS 'MODULE_PATHNAME'
3132 CREATE OR REPLACE FUNCTION make_valid(upc
)
3134 AS 'MODULE_PATHNAME'
3138 CREATE OR REPLACE FUNCTION is_valid(ean13
)
3140 AS 'MODULE_PATHNAME'
3143 CREATE OR REPLACE FUNCTION is_valid(isbn13
)
3145 AS 'MODULE_PATHNAME'
3148 CREATE OR REPLACE FUNCTION is_valid(ismn13
)
3150 AS 'MODULE_PATHNAME'
3153 CREATE OR REPLACE FUNCTION is_valid(issn13
)
3155 AS 'MODULE_PATHNAME'
3158 CREATE OR REPLACE FUNCTION is_valid(isbn
)
3160 AS 'MODULE_PATHNAME'
3163 CREATE OR REPLACE FUNCTION is_valid(ismn
)
3165 AS 'MODULE_PATHNAME'
3168 CREATE OR REPLACE FUNCTION is_valid(issn
)
3170 AS 'MODULE_PATHNAME'
3173 CREATE OR REPLACE FUNCTION is_valid(upc
)
3175 AS 'MODULE_PATHNAME'
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)
3185 AS 'MODULE_PATHNAME', 'accept_weak_input'
3190 -- isn_weak() - Gets the weak input mode status
3192 CREATE OR REPLACE FUNCTION isn_weak()
3194 AS 'MODULE_PATHNAME', 'weak_input_status'