diff options
Diffstat (limited to 'contrib/isn')
-rw-r--r-- | contrib/isn/EAN13.h | 2 | ||||
-rw-r--r-- | contrib/isn/ISBN.h | 376 | ||||
-rw-r--r-- | contrib/isn/ISMN.h | 2 | ||||
-rw-r--r-- | contrib/isn/ISSN.h | 2 | ||||
-rw-r--r-- | contrib/isn/Makefile | 7 | ||||
-rw-r--r-- | contrib/isn/UPC.h | 2 | ||||
-rw-r--r-- | contrib/isn/isn--1.0.sql (renamed from contrib/isn/isn.sql.in) | 495 | ||||
-rw-r--r-- | contrib/isn/isn--unpackaged--1.0.sql | 461 | ||||
-rw-r--r-- | contrib/isn/isn.c | 23 | ||||
-rw-r--r-- | contrib/isn/isn.control | 5 | ||||
-rw-r--r-- | contrib/isn/isn.h | 4 | ||||
-rw-r--r-- | contrib/isn/uninstall_isn.sql | 24 |
12 files changed, 1053 insertions, 350 deletions
diff --git a/contrib/isn/EAN13.h b/contrib/isn/EAN13.h index 87b611a542..7023ebdf63 100644 --- a/contrib/isn/EAN13.h +++ b/contrib/isn/EAN13.h @@ -6,7 +6,7 @@ * http://www.gs1.org/productssolutions/idkeys/support/prefix_list.html * * IDENTIFICATION - * $PostgreSQL: pgsql/contrib/isn/EAN13.h,v 1.2 2006/10/04 00:29:45 momjian Exp $ + * contrib/isn/EAN13.h * */ diff --git a/contrib/isn/ISBN.h b/contrib/isn/ISBN.h index 26c84afe80..dbda6fb724 100644 --- a/contrib/isn/ISBN.h +++ b/contrib/isn/ISBN.h @@ -7,7 +7,7 @@ * http://www.isbn.org/ * * IDENTIFICATION - * $PostgreSQL: pgsql/contrib/isn/ISBN.h,v 1.2 2006/10/04 00:29:45 momjian Exp $ + * contrib/isn/ISBN.h * * 0-393-04002-X => 039304002(X) <=> 039304002 <=> (978)039304002 <=> 978039304002(9) <=> 978-0-393-04002-9 * @@ -28,18 +28,23 @@ * */ +/* + * For ISBN with prefix 978 + * Range Table as of 2010-Jul-29 + */ + /* where the digit set begins, and how many of them are in the table */ const unsigned ISBN_index[10][2] = { {0, 6}, {6, 6}, {12, 8}, - {20, 10}, - {30, 6}, - {36, 12}, - {48, 0}, - {48, 5}, - {53, 59}, - {112, 573}, + {20, 14}, + {34, 6}, + {40, 19}, + {59, 68}, + {127, 5}, + {132, 60}, + {192, 718}, }; const char *ISBN_range[][2] = { @@ -72,7 +77,11 @@ const char *ISBN_range[][2] = { {"3-7000", "3-8499"}, {"3-85000", "3-89999"}, {"3-900000", "3-949999"}, - {"3-9500000", "3-9999999"}, + {"3-9500000", "3-9539999"}, + {"3-95400", "3-96999"}, + {"3-9700000", "3-9899999"}, + {"3-99000", "3-99499"}, + {"3-99500", "3-99999"}, {"4-00", "4-19"}, {"4-200", "4-699"}, {"4-7000", "4-8499"}, @@ -80,17 +89,92 @@ const char *ISBN_range[][2] = { {"4-900000", "4-949999"}, {"4-9500000", "4-9999999"}, {"5-00", "5-19"}, - {"5-200", "5-699"}, + {"5-200", "5-420"}, + {"5-4210", "5-4299"}, + {"5-430", "5-430"}, + {"5-4310", "5-4399"}, + {"5-440", "5-440"}, + {"5-4410", "5-4499"}, + {"5-450", "5-699"}, {"5-7000", "5-8499"}, {"5-85000", "5-89999"}, {"5-900000", "5-909999"}, {"5-91000", "5-91999"}, {"5-9200", "5-9299"}, {"5-93000", "5-94999"}, - {"5-9500", "5-9799"}, + {"5-9500000", "5-9500999"}, + {"5-9501", "5-9799"}, {"5-98000", "5-98999"}, {"5-9900000", "5-9909999"}, {"5-9910", "5-9999"}, + {"600-00", "600-09"}, + {"600-100", "600-499"}, + {"600-5000", "600-8999"}, + {"600-90000", "600-99999"}, + {"601-00", "601-19"}, + {"601-200", "601-699"}, + {"601-7000", "601-7999"}, + {"601-80000", "601-84999"}, + {"601-85", "601-99"}, + {"602-00", "602-19"}, + {"602-200", "602-799"}, + {"602-8000", "602-9499"}, + {"602-95000", "602-99999"}, + {"603-00", "603-04"}, + {"603-05", "603-49"}, + {"603-500", "603-799"}, + {"603-8000", "603-8999"}, + {"603-90000", "603-99999"}, + {"604-0", "604-4"}, + {"604-50", "604-89"}, + {"604-900", "604-979"}, + {"604-9800", "604-9999"}, + {"605-01", "605-09"}, + {"605-100", "605-399"}, + {"605-4000", "605-5999"}, + {"605-60000", "605-89999"}, + {"605-90", "605-99"}, + {"606-0", "606-0"}, + {"606-10", "606-49"}, + {"606-500", "606-799"}, + {"606-8000", "606-9199"}, + {"606-92000", "606-99999"}, + {"607-00", "607-39"}, + {"607-400", "607-749"}, + {"607-7500", "607-9499"}, + {"607-95000", "607-99999"}, + {"608-0", "608-0"}, + {"608-10", "608-19"}, + {"608-200", "608-449"}, + {"608-4500", "608-6499"}, + {"608-65000", "608-69999"}, + {"608-7", "608-9"}, + {"609-00", "609-39"}, + {"609-400", "609-799"}, + {"609-8000", "609-9499"}, + {"609-95000", "609-99999"}, + {"612-00", "612-29"}, + {"612-300", "612-399"}, + {"612-4000", "612-4499"}, + {"612-45000", "612-49999"}, + {"612-50", "612-99"}, + {"613-0", "613-9"}, + {"614-00", "614-39"}, + {"614-400", "614-799"}, + {"614-8000", "614-9499"}, + {"614-95000", "614-99999"}, + {"615-00", "615-09"}, + {"615-100", "615-499"}, + {"615-5000", "615-7999"}, + {"615-80000", "615-89999"}, + {"616-00", "616-19"}, + {"616-200", "616-699"}, + {"616-7000", "616-8999"}, + {"616-90000", "616-99999"}, + {"617-00", "617-49"}, + {"617-500", "617-699"}, + {"617-7000", "617-8999"}, + {"617-90000", "617-99999"}, {"7-00", "7-09"}, {"7-100", "7-499"}, {"7-5000", "7-7999"}, @@ -117,7 +201,8 @@ const char *ISBN_range[][2] = { {"83-7000", "83-8499"}, {"83-85000", "83-89999"}, {"83-900000", "83-999999"}, - {"84-00", "84-19"}, + {"84-00", "84-14"}, + {"84-15000", "84-19999"}, {"84-200", "84-699"}, {"84-7000", "84-8499"}, {"84-85000", "84-89999"}, @@ -135,8 +220,8 @@ const char *ISBN_range[][2] = { {"85-900000", "85-979999"}, {"85-98000", "85-99999"}, {"86-00", "86-29"}, - {"86-300", "86-699"}, - {"86-7000", "86-7999"}, + {"86-300", "86-599"}, + {"86-6000", "86-7999"}, {"86-80000", "86-89999"}, {"86-900000", "86-999999"}, {"87-00", "87-29"}, @@ -161,8 +246,10 @@ const char *ISBN_range[][2] = { {"90-70000", "90-79999"}, {"90-800000", "90-849999"}, {"90-8500", "90-8999"}, - {"90-900000", "90-909999"}, - {"90-940000", "90-949999"}, + {"90-90", "90-90"}, + {"90-910000", "90-939999"}, + {"90-94", "90-94"}, + {"90-950000", "90-999999"}, {"91-0", "91-1"}, {"91-20", "91-49"}, {"91-500", "91-649"}, @@ -175,6 +262,14 @@ const char *ISBN_range[][2] = { {"92-9000", "92-9499"}, {"92-95000", "92-98999"}, {"92-990000", "92-999999"}, + {"93-00", "93-09"}, + {"93-100", "93-499"}, + {"93-5000", "93-7999"}, + {"93-80000", "93-94999"}, + {"93-950000", "93-999999"}, + {"94-000", "94-599"}, + {"94-6000", "94-8999"}, + {"94-90000", "94-99999"}, {"950-00", "950-49"}, {"950-500", "950-899"}, {"950-9000", "950-9899"}, @@ -191,22 +286,24 @@ const char *ISBN_range[][2] = { {"952-6600", "952-6699"}, {"952-67000", "952-69999"}, {"952-7000", "952-7999"}, - {"952-89", "952-94"}, + {"952-80", "952-94"}, {"952-9500", "952-9899"}, {"952-99000", "952-99999"}, {"953-0", "953-0"}, {"953-10", "953-14"}, - {"953-150", "953-599"}, + {"953-150", "953-549"}, + {"953-55000", "953-59999"}, {"953-6000", "953-9499"}, {"953-95000", "953-99999"}, - {"954-00", "954-29"}, + {"954-00", "954-28"}, + {"954-2900", "954-2999"}, {"954-300", "954-799"}, {"954-8000", "954-8999"}, {"954-90000", "954-92999"}, {"954-9300", "954-9999"}, - {"955-0", "955-0"}, - {"955-1000", "955-1999"}, - {"955-20", "955-54"}, + {"955-0000", "955-1999"}, + {"955-20", "955-49"}, + {"955-50000", "955-54999"}, {"955-550", "955-799"}, {"955-8000", "955-9499"}, {"955-95000", "955-99999"}, @@ -223,19 +320,24 @@ const char *ISBN_range[][2] = { {"957-440", "957-819"}, {"957-8200", "957-9699"}, {"957-97000", "957-99999"}, - {"958-00", "958-59"}, + {"958-00", "958-56"}, + {"958-57000", "958-59999"}, {"958-600", "958-799"}, {"958-8000", "958-9499"}, {"958-95000", "958-99999"}, {"959-00", "959-19"}, {"959-200", "959-699"}, {"959-7000", "959-8499"}, + {"959-85000", "959-99999"}, {"960-00", "960-19"}, {"960-200", "960-659"}, {"960-6600", "960-6899"}, {"960-690", "960-699"}, {"960-7000", "960-8499"}, - {"960-85000", "960-99999"}, + {"960-85000", "960-92999"}, + {"960-93", "960-93"}, + {"960-9400", "960-9799"}, + {"960-98000", "960-99999"}, {"961-00", "961-19"}, {"961-200", "961-599"}, {"961-6000", "961-8999"}, @@ -263,12 +365,16 @@ const char *ISBN_range[][2] = { {"965-200", "965-599"}, {"965-7000", "965-7999"}, {"965-90000", "965-99999"}, - {"966-00", "966-28"}, - {"966-2900", "966-2999"}, + {"966-00", "966-14"}, + {"966-1500", "966-1699"}, + {"966-170", "966-199"}, + {"966-2000", "966-2999"}, {"966-300", "966-699"}, {"966-7000", "966-8999"}, {"966-90000", "966-99999"}, - {"967-0", "967-5"}, + {"967-00", "967-29"}, + {"967-300", "967-499"}, + {"967-5000", "967-5999"}, {"967-60", "967-89"}, {"967-900", "967-989"}, {"967-9900", "967-9989"}, @@ -287,21 +393,24 @@ const char *ISBN_range[][2] = { {"970-9000", "970-9099"}, {"970-91000", "970-96999"}, {"970-9700", "970-9999"}, - {"971-000", "971-019"}, + {"971-000", "971-015"}, + {"971-0160", "971-0199"}, {"971-02", "971-02"}, {"971-0300", "971-0599"}, {"971-06", "971-09"}, {"971-10", "971-49"}, {"971-500", "971-849"}, {"971-8500", "971-9099"}, - {"971-91000", "971-99999"}, + {"971-91000", "971-98999"}, + {"971-9900", "971-9999"}, {"972-0", "972-1"}, {"972-20", "972-54"}, {"972-550", "972-799"}, {"972-8000", "972-9499"}, {"972-95000", "972-99999"}, {"973-0", "973-0"}, - {"973-100", "973-199"}, + {"973-100", "973-169"}, + {"973-1700", "973-1999"}, {"973-20", "973-54"}, {"973-550", "973-759"}, {"973-7600", "973-8499"}, @@ -315,7 +424,8 @@ const char *ISBN_range[][2] = { {"974-90000", "974-94999"}, {"974-9500", "974-9999"}, {"975-00000", "975-00999"}, - {"975-01", "975-24"}, + {"975-01", "975-01"}, + {"975-02", "975-24"}, {"975-250", "975-599"}, {"975-6000", "975-9199"}, {"975-92000", "975-98999"}, @@ -345,17 +455,20 @@ const char *ISBN_range[][2] = { {"980-00", "980-19"}, {"980-200", "980-599"}, {"980-6000", "980-9999"}, - {"981-00", "981-19"}, - {"981-200", "981-299"}, - {"981-3000", "981-9999"}, + {"981-00", "981-11"}, + {"981-1200", "981-1999"}, + {"981-200", "981-289"}, + {"981-2900", "981-9999"}, {"982-00", "982-09"}, {"982-100", "982-699"}, {"982-70", "982-89"}, - {"982-9000", "982-9999"}, + {"982-9000", "982-9799"}, + {"982-98000", "982-99999"}, {"983-00", "983-01"}, {"983-020", "983-199"}, {"983-2000", "983-3999"}, - {"983-40000", "983-49999"}, + {"983-40000", "983-44999"}, + {"983-45", "983-49"}, {"983-50", "983-79"}, {"983-800", "983-899"}, {"983-9000", "983-9899"}, @@ -379,7 +492,8 @@ const char *ISBN_range[][2] = { {"987-500", "987-899"}, {"987-9000", "987-9499"}, {"987-95000", "987-99999"}, - {"988-00", "988-19"}, + {"988-00", "988-16"}, + {"988-17000", "988-19999"}, {"988-200", "988-799"}, {"988-8000", "988-9699"}, {"988-97000", "988-99999"}, @@ -388,13 +502,79 @@ const char *ISBN_range[][2] = { {"989-550", "989-799"}, {"989-8000", "989-9499"}, {"989-95000", "989-99999"}, - {"9944-0", "9944-2"}, - {"9944-300", "9944-499"}, + {"9927-00", "9927-09"}, + {"9927-100", "9927-399"}, + {"9927-4000", "9927-4999"}, + {"9928-00", "9928-09"}, + {"9928-100", "9928-399"}, + {"9928-4000", "9928-4999"}, + {"9929-0", "9929-3"}, + {"9929-40", "9929-54"}, + {"9929-550", "9929-799"}, + {"9929-8000", "9929-9999"}, + {"9930-00", "9930-49"}, + {"9930-500", "9930-939"}, + {"9930-9400", "9930-9999"}, + {"9931-00", "9931-29"}, + {"9931-300", "9931-899"}, + {"9931-9000", "9931-9999"}, + {"9932-00", "9932-39"}, + {"9932-400", "9932-849"}, + {"9932-8500", "9932-9999"}, + {"9933-0", "9933-0"}, + {"9933-10", "9933-39"}, + {"9933-400", "9933-899"}, + {"9933-9000", "9933-9999"}, + {"9934-0", "9934-0"}, + {"9934-10", "9934-49"}, + {"9934-500", "9934-799"}, + {"9934-8000", "9934-9999"}, + {"9935-0", "9935-0"}, + {"9935-10", "9935-39"}, + {"9935-400", "9935-899"}, + {"9935-9000", "9935-9999"}, + {"9936-0", "9936-1"}, + {"9936-20", "9936-39"}, + {"9936-400", "9936-799"}, + {"9936-8000", "9936-9999"}, + {"9937-0", "9937-2"}, + {"9937-30", "9937-49"}, + {"9937-500", "9937-799"}, + {"9937-8000", "9937-9999"}, + {"9938-00", "9938-79"}, + {"9938-800", "9938-949"}, + {"9938-9500", "9938-9999"}, + {"9939-0", "9939-4"}, + {"9939-50", "9939-79"}, + {"9939-800", "9939-899"}, + {"9939-9000", "9939-9999"}, + {"9940-0", "9940-1"}, + {"9940-20", "9940-49"}, + {"9940-500", "9940-899"}, + {"9940-9000", "9940-9999"}, + {"9941-0", "9941-0"}, + {"9941-10", "9941-39"}, + {"9941-400", "9941-899"}, + {"9941-9000", "9941-9999"}, + {"9942-00", "9942-89"}, + {"9942-900", "9942-994"}, + {"9942-9950", "9942-9999"}, + {"9943-00", "9943-29"}, + {"9943-300", "9943-399"}, + {"9943-4000", "9943-9999"}, + {"9944-0000", "9944-0999"}, + {"9944-100", "9944-499"}, {"9944-5000", "9944-5999"}, - {"9944-60", "9944-89"}, + {"9944-60", "9944-69"}, + {"9944-700", "9944-799"}, + {"9944-80", "9944-89"}, {"9944-900", "9944-999"}, - {"9945-00", "9945-39"}, - {"9945-400", "9945-849"}, + {"9945-00", "9945-00"}, + {"9945-010", "9945-079"}, + {"9945-08", "9945-39"}, + {"9945-400", "9945-569"}, + {"9945-57", "9945-57"}, + {"9945-580", "9945-849"}, {"9945-8500", "9945-9999"}, {"9946-0", "9946-1"}, {"9946-20", "9946-39"}, @@ -437,8 +617,10 @@ const char *ISBN_range[][2] = { {"9956-400", "9956-899"}, {"9956-9000", "9956-9999"}, {"9957-00", "9957-39"}, - {"9957-400", "9957-849"}, - {"9957-8500", "9957-9999"}, + {"9957-400", "9957-699"}, + {"9957-70", "9957-84"}, + {"9957-8500", "9957-8799"}, + {"9957-88", "9957-99"}, {"9958-0", "9958-0"}, {"9958-10", "9958-49"}, {"9958-500", "9958-899"}, @@ -461,7 +643,8 @@ const char *ISBN_range[][2] = { {"9962-8500", "9962-9999"}, {"9963-0", "9963-2"}, {"9963-30", "9963-54"}, - {"9963-550", "9963-749"}, + {"9963-550", "9963-734"}, + {"9963-7350", "9963-7499"}, {"9963-7500", "9963-9999"}, {"9964-0", "9964-6"}, {"9964-70", "9964-94"}, @@ -469,7 +652,8 @@ const char *ISBN_range[][2] = { {"9965-00", "9965-39"}, {"9965-400", "9965-899"}, {"9965-9000", "9965-9999"}, - {"9966-00", "9966-69"}, + {"9966-000", "9966-199"}, + {"9966-20", "9966-69"}, {"9966-7000", "9966-7499"}, {"9966-750", "9966-959"}, {"9966-9600", "9966-9999"}, @@ -493,7 +677,9 @@ const char *ISBN_range[][2] = { {"9972-30", "9972-59"}, {"9972-600", "9972-899"}, {"9972-9000", "9972-9999"}, - {"9973-0", "9973-0"}, + {"9973-00", "9973-05"}, + {"9973-060", "9973-089"}, + {"9973-0900", "9973-0999"}, {"9973-10", "9973-69"}, {"9973-700", "9973-969"}, {"9973-9700", "9973-9999"}, @@ -511,7 +697,7 @@ const char *ISBN_range[][2] = { {"9976-0", "9976-5"}, {"9976-60", "9976-89"}, {"9976-900", "9976-989"}, - {"9976-9990", "9976-9999"}, + {"9976-9900", "9976-9999"}, {"9977-00", "9977-89"}, {"9977-900", "9977-989"}, {"9977-9900", "9977-9999"}, @@ -521,7 +707,9 @@ const char *ISBN_range[][2] = { {"9978-950", "9978-989"}, {"9978-9900", "9978-9999"}, {"9979-0", "9979-4"}, - {"9979-50", "9979-75"}, + {"9979-50", "9979-64"}, + {"9979-650", "9979-659"}, + {"9979-66", "9979-75"}, {"9979-760", "9979-899"}, {"9979-9000", "9979-9999"}, {"9980-0", "9980-3"}, @@ -581,7 +769,8 @@ const char *ISBN_range[][2] = { {"99906-30", "99906-59"}, {"99906-600", "99906-699"}, {"99906-70", "99906-89"}, - {"99906-9", "99906-9"}, + {"99906-90", "99906-94"}, + {"99906-950", "99906-999"}, {"99908-0", "99908-0"}, {"99908-10", "99908-89"}, {"99908-900", "99908-999"}, @@ -602,7 +791,7 @@ const char *ISBN_range[][2] = { {"99913-600", "99913-604"}, {"99914-0", "99914-4"}, {"99914-50", "99914-89"}, - {"99914-900", "99914-949"}, + {"99914-900", "99914-999"}, {"99915-0", "99915-4"}, {"99915-50", "99915-79"}, {"99915-800", "99915-999"}, @@ -616,6 +805,7 @@ const char *ISBN_range[][2] = { {"99918-40", "99918-79"}, {"99918-800", "99918-999"}, {"99919-0", "99919-2"}, + {"99919-300", "99919-399"}, {"99919-40", "99919-69"}, {"99919-900", "99919-999"}, {"99920-0", "99920-4"}, @@ -632,8 +822,8 @@ const char *ISBN_range[][2] = { {"99923-0", "99923-1"}, {"99923-20", "99923-79"}, {"99923-800", "99923-999"}, - {"99924-0", "99924-2"}, - {"99924-30", "99924-79"}, + {"99924-0", "99924-1"}, + {"99924-20", "99924-79"}, {"99924-800", "99924-999"}, {"99925-0", "99925-3"}, {"99925-40", "99925-79"}, @@ -669,8 +859,8 @@ const char *ISBN_range[][2] = { {"99934-800", "99934-999"}, {"99935-0", "99935-2"}, {"99935-30", "99935-59"}, - {"99935-600", "99935-799"}, - {"99935-8", "99935-8"}, + {"99935-600", "99935-699"}, + {"99935-7", "99935-8"}, {"99935-90", "99935-99"}, {"99936-0", "99936-0"}, {"99936-10", "99936-59"}, @@ -689,8 +879,8 @@ const char *ISBN_range[][2] = { {"99940-10", "99940-69"}, {"99940-700", "99940-999"}, {"99941-0", "99941-2"}, - {"99941-30", "99941-89"}, - {"99941-900", "99941-999"}, + {"99941-30", "99941-79"}, + {"99941-800", "99941-999"}, {"99942-0", "99942-4"}, {"99942-50", "99942-79"}, {"99942-800", "99942-999"}, @@ -718,15 +908,83 @@ const char *ISBN_range[][2] = { {"99950-0", "99950-4"}, {"99950-50", "99950-79"}, {"99950-800", "99950-999"}, - {"99951-00", "99951-99"}, {"99952-0", "99952-4"}, {"99952-50", "99952-79"}, {"99952-800", "99952-999"}, {"99953-0", "99953-2"}, {"99953-30", "99953-79"}, - {"99953-800", "99953-999"}, + {"99953-800", "99953-939"}, + {"99953-94", "99953-99"}, {"99954-0", "99954-2"}, {"99954-30", "99954-69"}, {"99954-700", "99954-999"}, + {"99955-0", "99955-1"}, + {"99955-20", "99955-59"}, + {"99955-600", "99955-799"}, + {"99955-80", "99955-89"}, + {"99955-90", "99955-99"}, + {"99956-00", "99956-59"}, + {"99956-600", "99956-859"}, + {"99956-86", "99956-99"}, + {"99957-0", "99957-1"}, + {"99957-20", "99957-79"}, + {"99957-800", "99957-999"}, + {"99958-0", "99958-4"}, + {"99958-50", "99958-94"}, + {"99958-950", "99958-999"}, + {"99959-0", "99959-2"}, + {"99959-30", "99959-59"}, + {"99959-600", "99959-999"}, + {"99960-0", "99960-0"}, + {"99960-10", "99960-94"}, + {"99960-950", "99960-999"}, + {"99961-0", "99961-3"}, + {"99961-40", "99961-89"}, + {"99961-900", "99961-999"}, + {"99962-0", "99962-4"}, + {"99962-50", "99962-79"}, + {"99962-800", "99962-999"}, + {"99963-00", "99963-49"}, + {"99963-500", "99963-999"}, + {"99964-0", "99964-1"}, + {"99964-20", "99964-79"}, + {"99964-800", "99964-999"}, + {"99965-0", "99965-3"}, + {"99965-40", "99965-79"}, + {"99965-800", "99965-999"}, + {"99966-0", "99966-2"}, + {"99966-30", "99966-69"}, + {"99966-700", "99966-799"}, + {"99967-0", "99967-1"}, + {"99967-20", "99967-59"}, + {"99967-600", "99967-899"}, + {NULL, NULL}, +}; + +/* + * For ISBN with prefix 979 + * Range Table as of 2010-Jul-29 + */ + +/* where the digit set begins, and how many of them are in the table */ +const unsigned ISBN_index_new[10][2] = { + {0, 0}, + {0, 5}, + {5, 0}, + {5, 0}, + {5, 0}, + {5, 0}, + {5, 0}, + {5, 0}, + {5, 0}, + {5, 0}, +}; + +const char *ISBN_range_new[][2] = { + {"10-00", "10-19"}, + {"10-200", "10-699"}, + {"10-7000", "10-8999"}, + {"10-90000", "10-97599"}, + {"10-976000", "10-999999"}, {NULL, NULL}, }; diff --git a/contrib/isn/ISMN.h b/contrib/isn/ISMN.h index 1d7b2af8fd..281f2cdefc 100644 --- a/contrib/isn/ISMN.h +++ b/contrib/isn/ISMN.h @@ -6,7 +6,7 @@ * http://www.ismn-international.org * * IDENTIFICATION - * $PostgreSQL: pgsql/contrib/isn/ISMN.h,v 1.2 2006/10/04 00:29:45 momjian Exp $ + * contrib/isn/ISMN.h * * M-3452-4680-5 <=> (0)-3452-4680-5 <=> 0345246805 <=> 9790345246805 <=> 979-0-3452-4680-5 * diff --git a/contrib/isn/ISSN.h b/contrib/isn/ISSN.h index 063a5d97f1..082efcff7c 100644 --- a/contrib/isn/ISSN.h +++ b/contrib/isn/ISSN.h @@ -6,7 +6,7 @@ * http://www.issn.org/ * * IDENTIFICATION - * $PostgreSQL: pgsql/contrib/isn/ISSN.h,v 1.2 2006/10/04 00:29:45 momjian Exp $ + * contrib/isn/ISSN.h * * 1144-875X <=> 1144875(X) <=> 1144875 <=> (977)1144875 <=> 9771144875(00) <=> 977114487500(7) <=> 977-1144-875-00-7 * diff --git a/contrib/isn/Makefile b/contrib/isn/Makefile index 8431921d83..bd8f193e93 100644 --- a/contrib/isn/Makefile +++ b/contrib/isn/Makefile @@ -1,8 +1,9 @@ -# $PostgreSQL: pgsql/contrib/isn/Makefile,v 1.3 2007/11/10 23:59:51 momjian Exp $ +# contrib/isn/Makefile MODULES = isn -DATA_built = isn.sql -DATA = uninstall_isn.sql + +EXTENSION = isn +DATA = isn--1.0.sql isn--unpackaged--1.0.sql ifdef USE_PGXS PG_CONFIG = pg_config diff --git a/contrib/isn/UPC.h b/contrib/isn/UPC.h index 2b58a6b566..b95473e12d 100644 --- a/contrib/isn/UPC.h +++ b/contrib/isn/UPC.h @@ -6,7 +6,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/contrib/isn/UPC.h,v 1.2 2006/10/04 00:29:45 momjian Exp $ + * contrib/isn/UPC.h * */ diff --git a/contrib/isn/isn.sql.in b/contrib/isn/isn--1.0.sql index 1963fbbee3..336ad1db3c 100644 --- a/contrib/isn/isn.sql.in +++ b/contrib/isn/isn--1.0.sql @@ -1,7 +1,4 @@ -/* $PostgreSQL: pgsql/contrib/isn/isn.sql.in,v 1.9 2008/11/30 19:01:29 tgl Exp $ */ - --- Adjust this setting to control where the objects get created. -SET search_path = public; +/* contrib/isn/isn--1.0.sql */ -- Example: -- create table test ( id isbn ); @@ -15,12 +12,12 @@ SET search_path = public; -- Input and output functions and data types: -- --------------------------------------------------- -CREATE OR REPLACE FUNCTION ean13_in(cstring) +CREATE FUNCTION ean13_in(cstring) RETURNS ean13 AS 'MODULE_PATHNAME' LANGUAGE 'C' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION ean13_out(ean13) +CREATE FUNCTION ean13_out(ean13) RETURNS cstring AS 'MODULE_PATHNAME' LANGUAGE 'C' @@ -33,12 +30,12 @@ CREATE TYPE ean13 ( COMMENT ON TYPE ean13 IS 'International European Article Number (EAN13)'; -CREATE OR REPLACE FUNCTION isbn13_in(cstring) +CREATE FUNCTION isbn13_in(cstring) RETURNS isbn13 AS 'MODULE_PATHNAME', 'isbn_in' LANGUAGE 'C' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION ean13_out(isbn13) +CREATE FUNCTION ean13_out(isbn13) RETURNS cstring AS 'MODULE_PATHNAME' LANGUAGE 'C' @@ -51,12 +48,12 @@ CREATE TYPE isbn13 ( COMMENT ON TYPE isbn13 IS 'International Standard Book Number 13 (ISBN13)'; -CREATE OR REPLACE FUNCTION ismn13_in(cstring) +CREATE FUNCTION ismn13_in(cstring) RETURNS ismn13 AS 'MODULE_PATHNAME', 'ismn_in' LANGUAGE 'C' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION ean13_out(ismn13) +CREATE FUNCTION ean13_out(ismn13) RETURNS cstring AS 'MODULE_PATHNAME' LANGUAGE 'C' @@ -69,12 +66,12 @@ CREATE TYPE ismn13 ( COMMENT ON TYPE ismn13 IS 'International Standard Music Number 13 (ISMN13)'; -CREATE OR REPLACE FUNCTION issn13_in(cstring) +CREATE FUNCTION issn13_in(cstring) RETURNS issn13 AS 'MODULE_PATHNAME', 'issn_in' LANGUAGE 'C' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION ean13_out(issn13) +CREATE FUNCTION ean13_out(issn13) RETURNS cstring AS 'MODULE_PATHNAME' LANGUAGE 'C' @@ -89,12 +86,12 @@ COMMENT ON TYPE issn13 -- Short format: -CREATE OR REPLACE FUNCTION isbn_in(cstring) +CREATE FUNCTION isbn_in(cstring) RETURNS isbn AS 'MODULE_PATHNAME' LANGUAGE 'C' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isn_out(isbn) +CREATE FUNCTION isn_out(isbn) RETURNS cstring AS 'MODULE_PATHNAME' LANGUAGE 'C' @@ -107,12 +104,12 @@ CREATE TYPE isbn ( COMMENT ON TYPE isbn IS 'International Standard Book Number (ISBN)'; -CREATE OR REPLACE FUNCTION ismn_in(cstring) +CREATE FUNCTION ismn_in(cstring) RETURNS ismn AS 'MODULE_PATHNAME' LANGUAGE 'C' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isn_out(ismn) +CREATE FUNCTION isn_out(ismn) RETURNS cstring AS 'MODULE_PATHNAME' LANGUAGE 'C' @@ -125,12 +122,12 @@ CREATE TYPE ismn ( COMMENT ON TYPE ismn IS 'International Standard Music Number (ISMN)'; -CREATE OR REPLACE FUNCTION issn_in(cstring) +CREATE FUNCTION issn_in(cstring) RETURNS issn AS 'MODULE_PATHNAME' LANGUAGE 'C' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isn_out(issn) +CREATE FUNCTION isn_out(issn) RETURNS cstring AS 'MODULE_PATHNAME' LANGUAGE 'C' @@ -143,12 +140,12 @@ CREATE TYPE issn ( COMMENT ON TYPE issn IS 'International Standard Serial Number (ISSN)'; -CREATE OR REPLACE FUNCTION upc_in(cstring) +CREATE FUNCTION upc_in(cstring) RETURNS upc AS 'MODULE_PATHNAME' LANGUAGE 'C' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isn_out(upc) +CREATE FUNCTION isn_out(upc) RETURNS cstring AS 'MODULE_PATHNAME' LANGUAGE 'C' @@ -166,249 +163,249 @@ COMMENT ON TYPE upc -- --------------------------------------------------- -- EAN13: -CREATE OR REPLACE FUNCTION isnlt(ean13, ean13) +CREATE FUNCTION isnlt(ean13, ean13) RETURNS boolean AS 'int8lt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnle(ean13, ean13) +CREATE FUNCTION isnle(ean13, ean13) RETURNS boolean AS 'int8le' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isneq(ean13, ean13) +CREATE FUNCTION isneq(ean13, ean13) RETURNS boolean AS 'int8eq' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnge(ean13, ean13) +CREATE FUNCTION isnge(ean13, ean13) RETURNS boolean AS 'int8ge' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isngt(ean13, ean13) +CREATE FUNCTION isngt(ean13, ean13) RETURNS boolean AS 'int8gt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnne(ean13, ean13) +CREATE FUNCTION isnne(ean13, ean13) RETURNS boolean AS 'int8ne' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnlt(ean13, isbn13) +CREATE FUNCTION isnlt(ean13, isbn13) RETURNS boolean AS 'int8lt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnle(ean13, isbn13) +CREATE FUNCTION isnle(ean13, isbn13) RETURNS boolean AS 'int8le' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isneq(ean13, isbn13) +CREATE FUNCTION isneq(ean13, isbn13) RETURNS boolean AS 'int8eq' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnge(ean13, isbn13) +CREATE FUNCTION isnge(ean13, isbn13) RETURNS boolean AS 'int8ge' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isngt(ean13, isbn13) +CREATE FUNCTION isngt(ean13, isbn13) RETURNS boolean AS 'int8gt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnne(ean13, isbn13) +CREATE FUNCTION isnne(ean13, isbn13) RETURNS boolean AS 'int8ne' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnlt(ean13, ismn13) +CREATE FUNCTION isnlt(ean13, ismn13) RETURNS boolean AS 'int8lt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnle(ean13, ismn13) +CREATE FUNCTION isnle(ean13, ismn13) RETURNS boolean AS 'int8le' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isneq(ean13, ismn13) +CREATE FUNCTION isneq(ean13, ismn13) RETURNS boolean AS 'int8eq' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnge(ean13, ismn13) +CREATE FUNCTION isnge(ean13, ismn13) RETURNS boolean AS 'int8ge' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isngt(ean13, ismn13) +CREATE FUNCTION isngt(ean13, ismn13) RETURNS boolean AS 'int8gt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnne(ean13, ismn13) +CREATE FUNCTION isnne(ean13, ismn13) RETURNS boolean AS 'int8ne' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnlt(ean13, issn13) +CREATE FUNCTION isnlt(ean13, issn13) RETURNS boolean AS 'int8lt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnle(ean13, issn13) +CREATE FUNCTION isnle(ean13, issn13) RETURNS boolean AS 'int8le' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isneq(ean13, issn13) +CREATE FUNCTION isneq(ean13, issn13) RETURNS boolean AS 'int8eq' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnge(ean13, issn13) +CREATE FUNCTION isnge(ean13, issn13) RETURNS boolean AS 'int8ge' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isngt(ean13, issn13) +CREATE FUNCTION isngt(ean13, issn13) RETURNS boolean AS 'int8gt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnne(ean13, issn13) +CREATE FUNCTION isnne(ean13, issn13) RETURNS boolean AS 'int8ne' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnlt(ean13, isbn) +CREATE FUNCTION isnlt(ean13, isbn) RETURNS boolean AS 'int8lt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnle(ean13, isbn) +CREATE FUNCTION isnle(ean13, isbn) RETURNS boolean AS 'int8le' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isneq(ean13, isbn) +CREATE FUNCTION isneq(ean13, isbn) RETURNS boolean AS 'int8eq' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnge(ean13, isbn) +CREATE FUNCTION isnge(ean13, isbn) RETURNS boolean AS 'int8ge' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isngt(ean13, isbn) +CREATE FUNCTION isngt(ean13, isbn) RETURNS boolean AS 'int8gt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnne(ean13, isbn) +CREATE FUNCTION isnne(ean13, isbn) RETURNS boolean AS 'int8ne' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnlt(ean13, ismn) +CREATE FUNCTION isnlt(ean13, ismn) RETURNS boolean AS 'int8lt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnle(ean13, ismn) +CREATE FUNCTION isnle(ean13, ismn) RETURNS boolean AS 'int8le' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isneq(ean13, ismn) +CREATE FUNCTION isneq(ean13, ismn) RETURNS boolean AS 'int8eq' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnge(ean13, ismn) +CREATE FUNCTION isnge(ean13, ismn) RETURNS boolean AS 'int8ge' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isngt(ean13, ismn) +CREATE FUNCTION isngt(ean13, ismn) RETURNS boolean AS 'int8gt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnne(ean13, ismn) +CREATE FUNCTION isnne(ean13, ismn) RETURNS boolean AS 'int8ne' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnlt(ean13, issn) +CREATE FUNCTION isnlt(ean13, issn) RETURNS boolean AS 'int8lt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnle(ean13, issn) +CREATE FUNCTION isnle(ean13, issn) RETURNS boolean AS 'int8le' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isneq(ean13, issn) +CREATE FUNCTION isneq(ean13, issn) RETURNS boolean AS 'int8eq' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnge(ean13, issn) +CREATE FUNCTION isnge(ean13, issn) RETURNS boolean AS 'int8ge' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isngt(ean13, issn) +CREATE FUNCTION isngt(ean13, issn) RETURNS boolean AS 'int8gt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnne(ean13, issn) +CREATE FUNCTION isnne(ean13, issn) RETURNS boolean AS 'int8ne' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnlt(ean13, upc) +CREATE FUNCTION isnlt(ean13, upc) RETURNS boolean AS 'int8lt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnle(ean13, upc) +CREATE FUNCTION isnle(ean13, upc) RETURNS boolean AS 'int8le' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isneq(ean13, upc) +CREATE FUNCTION isneq(ean13, upc) RETURNS boolean AS 'int8eq' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnge(ean13, upc) +CREATE FUNCTION isnge(ean13, upc) RETURNS boolean AS 'int8ge' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isngt(ean13, upc) +CREATE FUNCTION isngt(ean13, upc) RETURNS boolean AS 'int8gt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnne(ean13, upc) +CREATE FUNCTION isnne(ean13, upc) RETURNS boolean AS 'int8ne' LANGUAGE 'internal' @@ -416,94 +413,94 @@ CREATE OR REPLACE FUNCTION isnne(ean13, upc) --------------------------------------------------- -- ISBN13: -CREATE OR REPLACE FUNCTION isnlt(isbn13, isbn13) +CREATE FUNCTION isnlt(isbn13, isbn13) RETURNS boolean AS 'int8lt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnle(isbn13, isbn13) +CREATE FUNCTION isnle(isbn13, isbn13) RETURNS boolean AS 'int8le' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isneq(isbn13, isbn13) +CREATE FUNCTION isneq(isbn13, isbn13) RETURNS boolean AS 'int8eq' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnge(isbn13, isbn13) +CREATE FUNCTION isnge(isbn13, isbn13) RETURNS boolean AS 'int8ge' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isngt(isbn13, isbn13) +CREATE FUNCTION isngt(isbn13, isbn13) RETURNS boolean AS 'int8gt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnne(isbn13, isbn13) +CREATE FUNCTION isnne(isbn13, isbn13) RETURNS boolean AS 'int8ne' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnlt(isbn13, isbn) +CREATE FUNCTION isnlt(isbn13, isbn) RETURNS boolean AS 'int8lt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnle(isbn13, isbn) +CREATE FUNCTION isnle(isbn13, isbn) RETURNS boolean AS 'int8le' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isneq(isbn13, isbn) +CREATE FUNCTION isneq(isbn13, isbn) RETURNS boolean AS 'int8eq' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnge(isbn13, isbn) +CREATE FUNCTION isnge(isbn13, isbn) RETURNS boolean AS 'int8ge' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isngt(isbn13, isbn) +CREATE FUNCTION isngt(isbn13, isbn) RETURNS boolean AS 'int8gt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnne(isbn13, isbn) +CREATE FUNCTION isnne(isbn13, isbn) RETURNS boolean AS 'int8ne' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnlt(isbn13, ean13) +CREATE FUNCTION isnlt(isbn13, ean13) RETURNS boolean AS 'int8lt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnle(isbn13, ean13) +CREATE FUNCTION isnle(isbn13, ean13) RETURNS boolean AS 'int8le' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isneq(isbn13, ean13) +CREATE FUNCTION isneq(isbn13, ean13) RETURNS boolean AS 'int8eq' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnge(isbn13, ean13) +CREATE FUNCTION isnge(isbn13, ean13) RETURNS boolean AS 'int8ge' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isngt(isbn13, ean13) +CREATE FUNCTION isngt(isbn13, ean13) RETURNS boolean AS 'int8gt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnne(isbn13, ean13) +CREATE FUNCTION isnne(isbn13, ean13) RETURNS boolean AS 'int8ne' LANGUAGE 'internal' @@ -511,94 +508,94 @@ CREATE OR REPLACE FUNCTION isnne(isbn13, ean13) --------------------------------------------------- -- ISBN: -CREATE OR REPLACE FUNCTION isnlt(isbn, isbn) +CREATE FUNCTION isnlt(isbn, isbn) RETURNS boolean AS 'int8lt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnle(isbn, isbn) +CREATE FUNCTION isnle(isbn, isbn) RETURNS boolean AS 'int8le' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isneq(isbn, isbn) +CREATE FUNCTION isneq(isbn, isbn) RETURNS boolean AS 'int8eq' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnge(isbn, isbn) +CREATE FUNCTION isnge(isbn, isbn) RETURNS boolean AS 'int8ge' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isngt(isbn, isbn) +CREATE FUNCTION isngt(isbn, isbn) RETURNS boolean AS 'int8gt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnne(isbn, isbn) +CREATE FUNCTION isnne(isbn, isbn) RETURNS boolean AS 'int8ne' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnlt(isbn, isbn13) +CREATE FUNCTION isnlt(isbn, isbn13) RETURNS boolean AS 'int8lt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnle(isbn, isbn13) +CREATE FUNCTION isnle(isbn, isbn13) RETURNS boolean AS 'int8le' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isneq(isbn, isbn13) +CREATE FUNCTION isneq(isbn, isbn13) RETURNS boolean AS 'int8eq' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnge(isbn, isbn13) +CREATE FUNCTION isnge(isbn, isbn13) RETURNS boolean AS 'int8ge' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isngt(isbn, isbn13) +CREATE FUNCTION isngt(isbn, isbn13) RETURNS boolean AS 'int8gt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnne(isbn, isbn13) +CREATE FUNCTION isnne(isbn, isbn13) RETURNS boolean AS 'int8ne' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnlt(isbn, ean13) +CREATE FUNCTION isnlt(isbn, ean13) RETURNS boolean AS 'int8lt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnle(isbn, ean13) +CREATE FUNCTION isnle(isbn, ean13) RETURNS boolean AS 'int8le' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isneq(isbn, ean13) +CREATE FUNCTION isneq(isbn, ean13) RETURNS boolean AS 'int8eq' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnge(isbn, ean13) +CREATE FUNCTION isnge(isbn, ean13) RETURNS boolean AS 'int8ge' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isngt(isbn, ean13) +CREATE FUNCTION isngt(isbn, ean13) RETURNS boolean AS 'int8gt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnne(isbn, ean13) +CREATE FUNCTION isnne(isbn, ean13) RETURNS boolean AS 'int8ne' LANGUAGE 'internal' @@ -606,94 +603,94 @@ CREATE OR REPLACE FUNCTION isnne(isbn, ean13) --------------------------------------------------- -- ISMN13: -CREATE OR REPLACE FUNCTION isnlt(ismn13, ismn13) +CREATE FUNCTION isnlt(ismn13, ismn13) RETURNS boolean AS 'int8lt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnle(ismn13, ismn13) +CREATE FUNCTION isnle(ismn13, ismn13) RETURNS boolean AS 'int8le' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isneq(ismn13, ismn13) +CREATE FUNCTION isneq(ismn13, ismn13) RETURNS boolean AS 'int8eq' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnge(ismn13, ismn13) +CREATE FUNCTION isnge(ismn13, ismn13) RETURNS boolean AS 'int8ge' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isngt(ismn13, ismn13) +CREATE FUNCTION isngt(ismn13, ismn13) RETURNS boolean AS 'int8gt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnne(ismn13, ismn13) +CREATE FUNCTION isnne(ismn13, ismn13) RETURNS boolean AS 'int8ne' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnlt(ismn13, ismn) +CREATE FUNCTION isnlt(ismn13, ismn) RETURNS boolean AS 'int8lt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnle(ismn13, ismn) +CREATE FUNCTION isnle(ismn13, ismn) RETURNS boolean AS 'int8le' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isneq(ismn13, ismn) +CREATE FUNCTION isneq(ismn13, ismn) RETURNS boolean AS 'int8eq' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnge(ismn13, ismn) +CREATE FUNCTION isnge(ismn13, ismn) RETURNS boolean AS 'int8ge' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isngt(ismn13, ismn) +CREATE FUNCTION isngt(ismn13, ismn) RETURNS boolean AS 'int8gt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnne(ismn13, ismn) +CREATE FUNCTION isnne(ismn13, ismn) RETURNS boolean AS 'int8ne' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnlt(ismn13, ean13) +CREATE FUNCTION isnlt(ismn13, ean13) RETURNS boolean AS 'int8lt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnle(ismn13, ean13) +CREATE FUNCTION isnle(ismn13, ean13) RETURNS boolean AS 'int8le' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isneq(ismn13, ean13) +CREATE FUNCTION isneq(ismn13, ean13) RETURNS boolean AS 'int8eq' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnge(ismn13, ean13) +CREATE FUNCTION isnge(ismn13, ean13) RETURNS boolean AS 'int8ge' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isngt(ismn13, ean13) +CREATE FUNCTION isngt(ismn13, ean13) RETURNS boolean AS 'int8gt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnne(ismn13, ean13) +CREATE FUNCTION isnne(ismn13, ean13) RETURNS boolean AS 'int8ne' LANGUAGE 'internal' @@ -701,94 +698,94 @@ CREATE OR REPLACE FUNCTION isnne(ismn13, ean13) --------------------------------------------------- -- ISMN: -CREATE OR REPLACE FUNCTION isnlt(ismn, ismn) +CREATE FUNCTION isnlt(ismn, ismn) RETURNS boolean AS 'int8lt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnle(ismn, ismn) +CREATE FUNCTION isnle(ismn, ismn) RETURNS boolean AS 'int8le' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isneq(ismn, ismn) +CREATE FUNCTION isneq(ismn, ismn) RETURNS boolean AS 'int8eq' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnge(ismn, ismn) +CREATE FUNCTION isnge(ismn, ismn) RETURNS boolean AS 'int8ge' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isngt(ismn, ismn) +CREATE FUNCTION isngt(ismn, ismn) RETURNS boolean AS 'int8gt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnne(ismn, ismn) +CREATE FUNCTION isnne(ismn, ismn) RETURNS boolean AS 'int8ne' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnlt(ismn, ismn13) +CREATE FUNCTION isnlt(ismn, ismn13) RETURNS boolean AS 'int8lt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnle(ismn, ismn13) +CREATE FUNCTION isnle(ismn, ismn13) RETURNS boolean AS 'int8le' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isneq(ismn, ismn13) +CREATE FUNCTION isneq(ismn, ismn13) RETURNS boolean AS 'int8eq' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnge(ismn, ismn13) +CREATE FUNCTION isnge(ismn, ismn13) RETURNS boolean AS 'int8ge' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isngt(ismn, ismn13) +CREATE FUNCTION isngt(ismn, ismn13) RETURNS boolean AS 'int8gt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnne(ismn, ismn13) +CREATE FUNCTION isnne(ismn, ismn13) RETURNS boolean AS 'int8ne' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnlt(ismn, ean13) +CREATE FUNCTION isnlt(ismn, ean13) RETURNS boolean AS 'int8lt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnle(ismn, ean13) +CREATE FUNCTION isnle(ismn, ean13) RETURNS boolean AS 'int8le' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isneq(ismn, ean13) +CREATE FUNCTION isneq(ismn, ean13) RETURNS boolean AS 'int8eq' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnge(ismn, ean13) +CREATE FUNCTION isnge(ismn, ean13) RETURNS boolean AS 'int8ge' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isngt(ismn, ean13) +CREATE FUNCTION isngt(ismn, ean13) RETURNS boolean AS 'int8gt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnne(ismn, ean13) +CREATE FUNCTION isnne(ismn, ean13) RETURNS boolean AS 'int8ne' LANGUAGE 'internal' @@ -796,94 +793,94 @@ CREATE OR REPLACE FUNCTION isnne(ismn, ean13) --------------------------------------------------- -- ISSN13: -CREATE OR REPLACE FUNCTION isnlt(issn13, issn13) +CREATE FUNCTION isnlt(issn13, issn13) RETURNS boolean AS 'int8lt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnle(issn13, issn13) +CREATE FUNCTION isnle(issn13, issn13) RETURNS boolean AS 'int8le' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isneq(issn13, issn13) +CREATE FUNCTION isneq(issn13, issn13) RETURNS boolean AS 'int8eq' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnge(issn13, issn13) +CREATE FUNCTION isnge(issn13, issn13) RETURNS boolean AS 'int8ge' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isngt(issn13, issn13) +CREATE FUNCTION isngt(issn13, issn13) RETURNS boolean AS 'int8gt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnne(issn13, issn13) +CREATE FUNCTION isnne(issn13, issn13) RETURNS boolean AS 'int8ne' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnlt(issn13, issn) +CREATE FUNCTION isnlt(issn13, issn) RETURNS boolean AS 'int8lt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnle(issn13, issn) +CREATE FUNCTION isnle(issn13, issn) RETURNS boolean AS 'int8le' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isneq(issn13, issn) +CREATE FUNCTION isneq(issn13, issn) RETURNS boolean AS 'int8eq' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnge(issn13, issn) +CREATE FUNCTION isnge(issn13, issn) RETURNS boolean AS 'int8ge' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isngt(issn13, issn) +CREATE FUNCTION isngt(issn13, issn) RETURNS boolean AS 'int8gt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnne(issn13, issn) +CREATE FUNCTION isnne(issn13, issn) RETURNS boolean AS 'int8ne' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnlt(issn13, ean13) +CREATE FUNCTION isnlt(issn13, ean13) RETURNS boolean AS 'int8lt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnle(issn13, ean13) +CREATE FUNCTION isnle(issn13, ean13) RETURNS boolean AS 'int8le' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isneq(issn13, ean13) +CREATE FUNCTION isneq(issn13, ean13) RETURNS boolean AS 'int8eq' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnge(issn13, ean13) +CREATE FUNCTION isnge(issn13, ean13) RETURNS boolean AS 'int8ge' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isngt(issn13, ean13) +CREATE FUNCTION isngt(issn13, ean13) RETURNS boolean AS 'int8gt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnne(issn13, ean13) +CREATE FUNCTION isnne(issn13, ean13) RETURNS boolean AS 'int8ne' LANGUAGE 'internal' @@ -891,94 +888,94 @@ CREATE OR REPLACE FUNCTION isnne(issn13, ean13) --------------------------------------------------- -- ISSN: -CREATE OR REPLACE FUNCTION isnlt(issn, issn) +CREATE FUNCTION isnlt(issn, issn) RETURNS boolean AS 'int8lt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnle(issn, issn) +CREATE FUNCTION isnle(issn, issn) RETURNS boolean AS 'int8le' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isneq(issn, issn) +CREATE FUNCTION isneq(issn, issn) RETURNS boolean AS 'int8eq' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnge(issn, issn) +CREATE FUNCTION isnge(issn, issn) RETURNS boolean AS 'int8ge' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isngt(issn, issn) +CREATE FUNCTION isngt(issn, issn) RETURNS boolean AS 'int8gt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnne(issn, issn) +CREATE FUNCTION isnne(issn, issn) RETURNS boolean AS 'int8ne' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnlt(issn, issn13) +CREATE FUNCTION isnlt(issn, issn13) RETURNS boolean AS 'int8lt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnle(issn, issn13) +CREATE FUNCTION isnle(issn, issn13) RETURNS boolean AS 'int8le' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isneq(issn, issn13) +CREATE FUNCTION isneq(issn, issn13) RETURNS boolean AS 'int8eq' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnge(issn, issn13) +CREATE FUNCTION isnge(issn, issn13) RETURNS boolean AS 'int8ge' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isngt(issn, issn13) +CREATE FUNCTION isngt(issn, issn13) RETURNS boolean AS 'int8gt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnne(issn, issn13) +CREATE FUNCTION isnne(issn, issn13) RETURNS boolean AS 'int8ne' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnlt(issn, ean13) +CREATE FUNCTION isnlt(issn, ean13) RETURNS boolean AS 'int8lt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnle(issn, ean13) +CREATE FUNCTION isnle(issn, ean13) RETURNS boolean AS 'int8le' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isneq(issn, ean13) +CREATE FUNCTION isneq(issn, ean13) RETURNS boolean AS 'int8eq' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnge(issn, ean13) +CREATE FUNCTION isnge(issn, ean13) RETURNS boolean AS 'int8ge' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isngt(issn, ean13) +CREATE FUNCTION isngt(issn, ean13) RETURNS boolean AS 'int8gt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnne(issn, ean13) +CREATE FUNCTION isnne(issn, ean13) RETURNS boolean AS 'int8ne' LANGUAGE 'internal' @@ -986,63 +983,63 @@ CREATE OR REPLACE FUNCTION isnne(issn, ean13) --------------------------------------------------- -- UPC: -CREATE OR REPLACE FUNCTION isnlt(upc, upc) +CREATE FUNCTION isnlt(upc, upc) RETURNS boolean AS 'int8lt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnle(upc, upc) +CREATE FUNCTION isnle(upc, upc) RETURNS boolean AS 'int8le' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isneq(upc, upc) +CREATE FUNCTION isneq(upc, upc) RETURNS boolean AS 'int8eq' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnge(upc, upc) +CREATE FUNCTION isnge(upc, upc) RETURNS boolean AS 'int8ge' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isngt(upc, upc) +CREATE FUNCTION isngt(upc, upc) RETURNS boolean AS 'int8gt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnne(upc, upc) +CREATE FUNCTION isnne(upc, upc) RETURNS boolean AS 'int8ne' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnlt(upc, ean13) +CREATE FUNCTION isnlt(upc, ean13) RETURNS boolean AS 'int8lt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnle(upc, ean13) +CREATE FUNCTION isnle(upc, ean13) RETURNS boolean AS 'int8le' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isneq(upc, ean13) +CREATE FUNCTION isneq(upc, ean13) RETURNS boolean AS 'int8eq' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnge(upc, ean13) +CREATE FUNCTION isnge(upc, ean13) RETURNS boolean AS 'int8ge' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isngt(upc, ean13) +CREATE FUNCTION isngt(upc, ean13) RETURNS boolean AS 'int8gt' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isnne(upc, ean13) +CREATE FUNCTION isnne(upc, ean13) RETURNS boolean AS 'int8ne' LANGUAGE 'internal' @@ -2525,7 +2522,7 @@ CREATE OPERATOR FAMILY isn_ops USING hash; -- --------------------------------------------------- -- EAN13: -CREATE OR REPLACE FUNCTION btean13cmp(ean13, ean13) +CREATE FUNCTION btean13cmp(ean13, ean13) RETURNS int4 AS 'btint8cmp' LANGUAGE 'internal' @@ -2540,7 +2537,7 @@ CREATE OPERATOR CLASS ean13_ops DEFAULT OPERATOR 5 >, FUNCTION 1 btean13cmp(ean13, ean13); -CREATE OR REPLACE FUNCTION hashean13(ean13) +CREATE FUNCTION hashean13(ean13) RETURNS int4 AS 'hashint8' LANGUAGE 'internal' IMMUTABLE STRICT; @@ -2551,37 +2548,37 @@ CREATE OPERATOR CLASS ean13_ops DEFAULT FUNCTION 1 hashean13(ean13); -- EAN13 vs other types: -CREATE OR REPLACE FUNCTION btean13cmp(ean13, isbn13) +CREATE FUNCTION btean13cmp(ean13, isbn13) RETURNS int4 AS 'btint8cmp' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION btean13cmp(ean13, ismn13) +CREATE FUNCTION btean13cmp(ean13, ismn13) RETURNS int4 AS 'btint8cmp' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION btean13cmp(ean13, issn13) +CREATE FUNCTION btean13cmp(ean13, issn13) RETURNS int4 AS 'btint8cmp' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION btean13cmp(ean13, isbn) +CREATE FUNCTION btean13cmp(ean13, isbn) RETURNS int4 AS 'btint8cmp' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION btean13cmp(ean13, ismn) +CREATE FUNCTION btean13cmp(ean13, ismn) RETURNS int4 AS 'btint8cmp' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION btean13cmp(ean13, issn) +CREATE FUNCTION btean13cmp(ean13, issn) RETURNS int4 AS 'btint8cmp' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION btean13cmp(ean13, upc) +CREATE FUNCTION btean13cmp(ean13, upc) RETURNS int4 AS 'btint8cmp' LANGUAGE 'internal' @@ -2642,7 +2639,7 @@ ALTER OPERATOR FAMILY isn_ops USING hash ADD --------------------------------------------------- -- ISBN13: -CREATE OR REPLACE FUNCTION btisbn13cmp(isbn13, isbn13) +CREATE FUNCTION btisbn13cmp(isbn13, isbn13) RETURNS int4 AS 'btint8cmp' LANGUAGE 'internal' @@ -2657,7 +2654,7 @@ CREATE OPERATOR CLASS isbn13_ops DEFAULT OPERATOR 5 >, FUNCTION 1 btisbn13cmp(isbn13, isbn13); -CREATE OR REPLACE FUNCTION hashisbn13(isbn13) +CREATE FUNCTION hashisbn13(isbn13) RETURNS int4 AS 'hashint8' LANGUAGE 'internal' @@ -2669,12 +2666,12 @@ CREATE OPERATOR CLASS isbn13_ops DEFAULT FUNCTION 1 hashisbn13(isbn13); -- ISBN13 vs other types: -CREATE OR REPLACE FUNCTION btisbn13cmp(isbn13, ean13) +CREATE FUNCTION btisbn13cmp(isbn13, ean13) RETURNS int4 AS 'btint8cmp' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION btisbn13cmp(isbn13, isbn) +CREATE FUNCTION btisbn13cmp(isbn13, isbn) RETURNS int4 AS 'btint8cmp' LANGUAGE 'internal' @@ -2700,7 +2697,7 @@ ALTER OPERATOR FAMILY isn_ops USING hash ADD --------------------------------------------------- -- ISBN: -CREATE OR REPLACE FUNCTION btisbncmp(isbn, isbn) +CREATE FUNCTION btisbncmp(isbn, isbn) RETURNS int4 AS 'btint8cmp' LANGUAGE 'internal' @@ -2715,7 +2712,7 @@ CREATE OPERATOR CLASS isbn_ops DEFAULT OPERATOR 5 >, FUNCTION 1 btisbncmp(isbn, isbn); -CREATE OR REPLACE FUNCTION hashisbn(isbn) +CREATE FUNCTION hashisbn(isbn) RETURNS int4 AS 'hashint8' LANGUAGE 'internal' @@ -2727,12 +2724,12 @@ CREATE OPERATOR CLASS isbn_ops DEFAULT FUNCTION 1 hashisbn(isbn); -- ISBN vs other types: -CREATE OR REPLACE FUNCTION btisbncmp(isbn, ean13) +CREATE FUNCTION btisbncmp(isbn, ean13) RETURNS int4 AS 'btint8cmp' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION btisbncmp(isbn, isbn13) +CREATE FUNCTION btisbncmp(isbn, isbn13) RETURNS int4 AS 'btint8cmp' LANGUAGE 'internal' @@ -2758,7 +2755,7 @@ ALTER OPERATOR FAMILY isn_ops USING hash ADD --------------------------------------------------- -- ISMN13: -CREATE OR REPLACE FUNCTION btismn13cmp(ismn13, ismn13) +CREATE FUNCTION btismn13cmp(ismn13, ismn13) RETURNS int4 AS 'btint8cmp' LANGUAGE 'internal' @@ -2773,7 +2770,7 @@ CREATE OPERATOR CLASS ismn13_ops DEFAULT OPERATOR 5 >, FUNCTION 1 btismn13cmp(ismn13, ismn13); -CREATE OR REPLACE FUNCTION hashismn13(ismn13) +CREATE FUNCTION hashismn13(ismn13) RETURNS int4 AS 'hashint8' LANGUAGE 'internal' @@ -2785,12 +2782,12 @@ CREATE OPERATOR CLASS ismn13_ops DEFAULT FUNCTION 1 hashismn13(ismn13); -- ISMN13 vs other types: -CREATE OR REPLACE FUNCTION btismn13cmp(ismn13, ean13) +CREATE FUNCTION btismn13cmp(ismn13, ean13) RETURNS int4 AS 'btint8cmp' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION btismn13cmp(ismn13, ismn) +CREATE FUNCTION btismn13cmp(ismn13, ismn) RETURNS int4 AS 'btint8cmp' LANGUAGE 'internal' @@ -2816,7 +2813,7 @@ ALTER OPERATOR FAMILY isn_ops USING hash ADD --------------------------------------------------- -- ISMN: -CREATE OR REPLACE FUNCTION btismncmp(ismn, ismn) +CREATE FUNCTION btismncmp(ismn, ismn) RETURNS int4 AS 'btint8cmp' LANGUAGE 'internal' @@ -2831,7 +2828,7 @@ CREATE OPERATOR CLASS ismn_ops DEFAULT OPERATOR 5 >, FUNCTION 1 btismncmp(ismn, ismn); -CREATE OR REPLACE FUNCTION hashismn(ismn) +CREATE FUNCTION hashismn(ismn) RETURNS int4 AS 'hashint8' LANGUAGE 'internal' @@ -2843,12 +2840,12 @@ CREATE OPERATOR CLASS ismn_ops DEFAULT FUNCTION 1 hashismn(ismn); -- ISMN vs other types: -CREATE OR REPLACE FUNCTION btismncmp(ismn, ean13) +CREATE FUNCTION btismncmp(ismn, ean13) RETURNS int4 AS 'btint8cmp' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION btismncmp(ismn, ismn13) +CREATE FUNCTION btismncmp(ismn, ismn13) RETURNS int4 AS 'btint8cmp' LANGUAGE 'internal' @@ -2874,7 +2871,7 @@ ALTER OPERATOR FAMILY isn_ops USING hash ADD --------------------------------------------------- -- ISSN13: -CREATE OR REPLACE FUNCTION btissn13cmp(issn13, issn13) +CREATE FUNCTION btissn13cmp(issn13, issn13) RETURNS int4 AS 'btint8cmp' LANGUAGE 'internal' @@ -2889,7 +2886,7 @@ CREATE OPERATOR CLASS issn13_ops DEFAULT OPERATOR 5 >, FUNCTION 1 btissn13cmp(issn13, issn13); -CREATE OR REPLACE FUNCTION hashissn13(issn13) +CREATE FUNCTION hashissn13(issn13) RETURNS int4 AS 'hashint8' LANGUAGE 'internal' @@ -2901,12 +2898,12 @@ CREATE OPERATOR CLASS issn13_ops DEFAULT FUNCTION 1 hashissn13(issn13); -- ISSN13 vs other types: -CREATE OR REPLACE FUNCTION btissn13cmp(issn13, ean13) +CREATE FUNCTION btissn13cmp(issn13, ean13) RETURNS int4 AS 'btint8cmp' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION btissn13cmp(issn13, issn) +CREATE FUNCTION btissn13cmp(issn13, issn) RETURNS int4 AS 'btint8cmp' LANGUAGE 'internal' @@ -2932,7 +2929,7 @@ ALTER OPERATOR FAMILY isn_ops USING hash ADD --------------------------------------------------- -- ISSN: -CREATE OR REPLACE FUNCTION btissncmp(issn, issn) +CREATE FUNCTION btissncmp(issn, issn) RETURNS int4 AS 'btint8cmp' LANGUAGE 'internal' @@ -2947,7 +2944,7 @@ CREATE OPERATOR CLASS issn_ops DEFAULT OPERATOR 5 >, FUNCTION 1 btissncmp(issn, issn); -CREATE OR REPLACE FUNCTION hashissn(issn) +CREATE FUNCTION hashissn(issn) RETURNS int4 AS 'hashint8' LANGUAGE 'internal' @@ -2959,12 +2956,12 @@ CREATE OPERATOR CLASS issn_ops DEFAULT FUNCTION 1 hashissn(issn); -- ISSN vs other types: -CREATE OR REPLACE FUNCTION btissncmp(issn, ean13) +CREATE FUNCTION btissncmp(issn, ean13) RETURNS int4 AS 'btint8cmp' LANGUAGE 'internal' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION btissncmp(issn, issn13) +CREATE FUNCTION btissncmp(issn, issn13) RETURNS int4 AS 'btint8cmp' LANGUAGE 'internal' @@ -2990,7 +2987,7 @@ ALTER OPERATOR FAMILY isn_ops USING hash ADD --------------------------------------------------- -- UPC: -CREATE OR REPLACE FUNCTION btupccmp(upc, upc) +CREATE FUNCTION btupccmp(upc, upc) RETURNS int4 AS 'btint8cmp' LANGUAGE 'internal' @@ -3005,7 +3002,7 @@ CREATE OPERATOR CLASS upc_ops DEFAULT OPERATOR 5 >, FUNCTION 1 btupccmp(upc, upc); -CREATE OR REPLACE FUNCTION hashupc(upc) +CREATE FUNCTION hashupc(upc) RETURNS int4 AS 'hashint8' LANGUAGE 'internal' @@ -3017,7 +3014,7 @@ CREATE OPERATOR CLASS upc_ops DEFAULT FUNCTION 1 hashupc(upc); -- UPC vs other types: -CREATE OR REPLACE FUNCTION btupccmp(upc, ean13) +CREATE FUNCTION btupccmp(upc, ean13) RETURNS int4 AS 'btint8cmp' LANGUAGE 'internal' @@ -3038,31 +3035,31 @@ ALTER OPERATOR FAMILY isn_ops USING hash ADD -- Type casts: -- --------------------------------------------------- -CREATE OR REPLACE FUNCTION isbn13(ean13) +CREATE FUNCTION isbn13(ean13) RETURNS isbn13 AS 'MODULE_PATHNAME', 'isbn_cast_from_ean13' LANGUAGE 'C' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION ismn13(ean13) +CREATE FUNCTION ismn13(ean13) RETURNS ismn13 AS 'MODULE_PATHNAME', 'ismn_cast_from_ean13' LANGUAGE 'C' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION issn13(ean13) +CREATE FUNCTION issn13(ean13) RETURNS issn13 AS 'MODULE_PATHNAME', 'issn_cast_from_ean13' LANGUAGE 'C' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION isbn(ean13) +CREATE FUNCTION isbn(ean13) RETURNS isbn AS 'MODULE_PATHNAME', 'isbn_cast_from_ean13' LANGUAGE 'C' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION ismn(ean13) +CREATE FUNCTION ismn(ean13) RETURNS ismn AS 'MODULE_PATHNAME', 'ismn_cast_from_ean13' LANGUAGE 'C' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION issn(ean13) +CREATE FUNCTION issn(ean13) RETURNS issn AS 'MODULE_PATHNAME', 'issn_cast_from_ean13' LANGUAGE 'C' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION upc(ean13) +CREATE FUNCTION upc(ean13) RETURNS upc AS 'MODULE_PATHNAME', 'upc_cast_from_ean13' LANGUAGE 'C' IMMUTABLE STRICT; @@ -3094,83 +3091,83 @@ CREATE CAST (issn13 AS issn) WITHOUT FUNCTION AS ASSIGNMENT; -- -- Validation stuff for lose types: -- -CREATE OR REPLACE FUNCTION make_valid(ean13) +CREATE FUNCTION make_valid(ean13) RETURNS ean13 AS 'MODULE_PATHNAME' LANGUAGE 'C' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION make_valid(isbn13) +CREATE FUNCTION make_valid(isbn13) RETURNS isbn13 AS 'MODULE_PATHNAME' LANGUAGE 'C' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION make_valid(ismn13) +CREATE FUNCTION make_valid(ismn13) RETURNS ismn13 AS 'MODULE_PATHNAME' LANGUAGE 'C' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION make_valid(issn13) +CREATE FUNCTION make_valid(issn13) RETURNS issn13 AS 'MODULE_PATHNAME' LANGUAGE 'C' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION make_valid(isbn) +CREATE FUNCTION make_valid(isbn) RETURNS isbn AS 'MODULE_PATHNAME' LANGUAGE 'C' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION make_valid(ismn) +CREATE FUNCTION make_valid(ismn) RETURNS ismn AS 'MODULE_PATHNAME' LANGUAGE 'C' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION make_valid(issn) +CREATE FUNCTION make_valid(issn) RETURNS issn AS 'MODULE_PATHNAME' LANGUAGE 'C' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION make_valid(upc) +CREATE FUNCTION make_valid(upc) RETURNS upc AS 'MODULE_PATHNAME' LANGUAGE 'C' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION is_valid(ean13) +CREATE FUNCTION is_valid(ean13) RETURNS boolean AS 'MODULE_PATHNAME' LANGUAGE 'C' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION is_valid(isbn13) +CREATE FUNCTION is_valid(isbn13) RETURNS boolean AS 'MODULE_PATHNAME' LANGUAGE 'C' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION is_valid(ismn13) +CREATE FUNCTION is_valid(ismn13) RETURNS boolean AS 'MODULE_PATHNAME' LANGUAGE 'C' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION is_valid(issn13) +CREATE FUNCTION is_valid(issn13) RETURNS boolean AS 'MODULE_PATHNAME' LANGUAGE 'C' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION is_valid(isbn) +CREATE FUNCTION is_valid(isbn) RETURNS boolean AS 'MODULE_PATHNAME' LANGUAGE 'C' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION is_valid(ismn) +CREATE FUNCTION is_valid(ismn) RETURNS boolean AS 'MODULE_PATHNAME' LANGUAGE 'C' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION is_valid(issn) +CREATE FUNCTION is_valid(issn) RETURNS boolean AS 'MODULE_PATHNAME' LANGUAGE 'C' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION is_valid(upc) +CREATE FUNCTION is_valid(upc) RETURNS boolean AS 'MODULE_PATHNAME' LANGUAGE 'C' @@ -3180,7 +3177,7 @@ CREATE OR REPLACE FUNCTION is_valid(upc) -- isn_weak(boolean) - Sets the weak input mode. -- This function is intended for testing use only! -- -CREATE OR REPLACE FUNCTION isn_weak(boolean) +CREATE FUNCTION isn_weak(boolean) RETURNS boolean AS 'MODULE_PATHNAME', 'accept_weak_input' LANGUAGE 'C' @@ -3189,7 +3186,7 @@ CREATE OR REPLACE FUNCTION isn_weak(boolean) -- -- isn_weak() - Gets the weak input mode status -- -CREATE OR REPLACE FUNCTION isn_weak() +CREATE FUNCTION isn_weak() RETURNS boolean AS 'MODULE_PATHNAME', 'weak_input_status' LANGUAGE 'C' diff --git a/contrib/isn/isn--unpackaged--1.0.sql b/contrib/isn/isn--unpackaged--1.0.sql new file mode 100644 index 0000000000..6130a43e51 --- /dev/null +++ b/contrib/isn/isn--unpackaged--1.0.sql @@ -0,0 +1,461 @@ +/* contrib/isn/isn--unpackaged--1.0.sql */ + +ALTER EXTENSION isn ADD type ean13; +ALTER EXTENSION isn ADD function ean13_in(cstring); +ALTER EXTENSION isn ADD function ean13_out(ean13); +ALTER EXTENSION isn ADD type isbn13; +ALTER EXTENSION isn ADD function isbn13_in(cstring); +ALTER EXTENSION isn ADD function ean13_out(isbn13); +ALTER EXTENSION isn ADD type ismn13; +ALTER EXTENSION isn ADD function ismn13_in(cstring); +ALTER EXTENSION isn ADD function ean13_out(ismn13); +ALTER EXTENSION isn ADD type issn13; +ALTER EXTENSION isn ADD function issn13_in(cstring); +ALTER EXTENSION isn ADD function ean13_out(issn13); +ALTER EXTENSION isn ADD type isbn; +ALTER EXTENSION isn ADD function isbn_in(cstring); +ALTER EXTENSION isn ADD function isn_out(isbn); +ALTER EXTENSION isn ADD type ismn; +ALTER EXTENSION isn ADD function ismn_in(cstring); +ALTER EXTENSION isn ADD function isn_out(ismn); +ALTER EXTENSION isn ADD type issn; +ALTER EXTENSION isn ADD function issn_in(cstring); +ALTER EXTENSION isn ADD function isn_out(issn); +ALTER EXTENSION isn ADD type upc; +ALTER EXTENSION isn ADD function upc_in(cstring); +ALTER EXTENSION isn ADD function isn_out(upc); +ALTER EXTENSION isn ADD function isnlt(ean13,ean13); +ALTER EXTENSION isn ADD function isnle(ean13,ean13); +ALTER EXTENSION isn ADD function isneq(ean13,ean13); +ALTER EXTENSION isn ADD function isnge(ean13,ean13); +ALTER EXTENSION isn ADD function isngt(ean13,ean13); +ALTER EXTENSION isn ADD function isnne(ean13,ean13); +ALTER EXTENSION isn ADD function isnlt(ean13,isbn13); +ALTER EXTENSION isn ADD function isnle(ean13,isbn13); +ALTER EXTENSION isn ADD function isneq(ean13,isbn13); +ALTER EXTENSION isn ADD function isnge(ean13,isbn13); +ALTER EXTENSION isn ADD function isngt(ean13,isbn13); +ALTER EXTENSION isn ADD function isnne(ean13,isbn13); +ALTER EXTENSION isn ADD function isnlt(ean13,ismn13); +ALTER EXTENSION isn ADD function isnle(ean13,ismn13); +ALTER EXTENSION isn ADD function isneq(ean13,ismn13); +ALTER EXTENSION isn ADD function isnge(ean13,ismn13); +ALTER EXTENSION isn ADD function isngt(ean13,ismn13); +ALTER EXTENSION isn ADD function isnne(ean13,ismn13); +ALTER EXTENSION isn ADD function isnlt(ean13,issn13); +ALTER EXTENSION isn ADD function isnle(ean13,issn13); +ALTER EXTENSION isn ADD function isneq(ean13,issn13); +ALTER EXTENSION isn ADD function isnge(ean13,issn13); +ALTER EXTENSION isn ADD function isngt(ean13,issn13); +ALTER EXTENSION isn ADD function isnne(ean13,issn13); +ALTER EXTENSION isn ADD function isnlt(ean13,isbn); +ALTER EXTENSION isn ADD function isnle(ean13,isbn); +ALTER EXTENSION isn ADD function isneq(ean13,isbn); +ALTER EXTENSION isn ADD function isnge(ean13,isbn); +ALTER EXTENSION isn ADD function isngt(ean13,isbn); +ALTER EXTENSION isn ADD function isnne(ean13,isbn); +ALTER EXTENSION isn ADD function isnlt(ean13,ismn); +ALTER EXTENSION isn ADD function isnle(ean13,ismn); +ALTER EXTENSION isn ADD function isneq(ean13,ismn); +ALTER EXTENSION isn ADD function isnge(ean13,ismn); +ALTER EXTENSION isn ADD function isngt(ean13,ismn); +ALTER EXTENSION isn ADD function isnne(ean13,ismn); +ALTER EXTENSION isn ADD function isnlt(ean13,issn); +ALTER EXTENSION isn ADD function isnle(ean13,issn); +ALTER EXTENSION isn ADD function isneq(ean13,issn); +ALTER EXTENSION isn ADD function isnge(ean13,issn); +ALTER EXTENSION isn ADD function isngt(ean13,issn); +ALTER EXTENSION isn ADD function isnne(ean13,issn); +ALTER EXTENSION isn ADD function isnlt(ean13,upc); +ALTER EXTENSION isn ADD function isnle(ean13,upc); +ALTER EXTENSION isn ADD function isneq(ean13,upc); +ALTER EXTENSION isn ADD function isnge(ean13,upc); +ALTER EXTENSION isn ADD function isngt(ean13,upc); +ALTER EXTENSION isn ADD function isnne(ean13,upc); +ALTER EXTENSION isn ADD function isnlt(isbn13,isbn13); +ALTER EXTENSION isn ADD function isnle(isbn13,isbn13); +ALTER EXTENSION isn ADD function isneq(isbn13,isbn13); +ALTER EXTENSION isn ADD function isnge(isbn13,isbn13); +ALTER EXTENSION isn ADD function isngt(isbn13,isbn13); +ALTER EXTENSION isn ADD function isnne(isbn13,isbn13); +ALTER EXTENSION isn ADD function isnlt(isbn13,isbn); +ALTER EXTENSION isn ADD function isnle(isbn13,isbn); +ALTER EXTENSION isn ADD function isneq(isbn13,isbn); +ALTER EXTENSION isn ADD function isnge(isbn13,isbn); +ALTER EXTENSION isn ADD function isngt(isbn13,isbn); +ALTER EXTENSION isn ADD function isnne(isbn13,isbn); +ALTER EXTENSION isn ADD function isnlt(isbn13,ean13); +ALTER EXTENSION isn ADD function isnle(isbn13,ean13); +ALTER EXTENSION isn ADD function isneq(isbn13,ean13); +ALTER EXTENSION isn ADD function isnge(isbn13,ean13); +ALTER EXTENSION isn ADD function isngt(isbn13,ean13); +ALTER EXTENSION isn ADD function isnne(isbn13,ean13); +ALTER EXTENSION isn ADD function isnlt(isbn,isbn); +ALTER EXTENSION isn ADD function isnle(isbn,isbn); +ALTER EXTENSION isn ADD function isneq(isbn,isbn); +ALTER EXTENSION isn ADD function isnge(isbn,isbn); +ALTER EXTENSION isn ADD function isngt(isbn,isbn); +ALTER EXTENSION isn ADD function isnne(isbn,isbn); +ALTER EXTENSION isn ADD function isnlt(isbn,isbn13); +ALTER EXTENSION isn ADD function isnle(isbn,isbn13); +ALTER EXTENSION isn ADD function isneq(isbn,isbn13); +ALTER EXTENSION isn ADD function isnge(isbn,isbn13); +ALTER EXTENSION isn ADD function isngt(isbn,isbn13); +ALTER EXTENSION isn ADD function isnne(isbn,isbn13); +ALTER EXTENSION isn ADD function isnlt(isbn,ean13); +ALTER EXTENSION isn ADD function isnle(isbn,ean13); +ALTER EXTENSION isn ADD function isneq(isbn,ean13); +ALTER EXTENSION isn ADD function isnge(isbn,ean13); +ALTER EXTENSION isn ADD function isngt(isbn,ean13); +ALTER EXTENSION isn ADD function isnne(isbn,ean13); +ALTER EXTENSION isn ADD function isnlt(ismn13,ismn13); +ALTER EXTENSION isn ADD function isnle(ismn13,ismn13); +ALTER EXTENSION isn ADD function isneq(ismn13,ismn13); +ALTER EXTENSION isn ADD function isnge(ismn13,ismn13); +ALTER EXTENSION isn ADD function isngt(ismn13,ismn13); +ALTER EXTENSION isn ADD function isnne(ismn13,ismn13); +ALTER EXTENSION isn ADD function isnlt(ismn13,ismn); +ALTER EXTENSION isn ADD function isnle(ismn13,ismn); +ALTER EXTENSION isn ADD function isneq(ismn13,ismn); +ALTER EXTENSION isn ADD function isnge(ismn13,ismn); +ALTER EXTENSION isn ADD function isngt(ismn13,ismn); +ALTER EXTENSION isn ADD function isnne(ismn13,ismn); +ALTER EXTENSION isn ADD function isnlt(ismn13,ean13); +ALTER EXTENSION isn ADD function isnle(ismn13,ean13); +ALTER EXTENSION isn ADD function isneq(ismn13,ean13); +ALTER EXTENSION isn ADD function isnge(ismn13,ean13); +ALTER EXTENSION isn ADD function isngt(ismn13,ean13); +ALTER EXTENSION isn ADD function isnne(ismn13,ean13); +ALTER EXTENSION isn ADD function isnlt(ismn,ismn); +ALTER EXTENSION isn ADD function isnle(ismn,ismn); +ALTER EXTENSION isn ADD function isneq(ismn,ismn); +ALTER EXTENSION isn ADD function isnge(ismn,ismn); +ALTER EXTENSION isn ADD function isngt(ismn,ismn); +ALTER EXTENSION isn ADD function isnne(ismn,ismn); +ALTER EXTENSION isn ADD function isnlt(ismn,ismn13); +ALTER EXTENSION isn ADD function isnle(ismn,ismn13); +ALTER EXTENSION isn ADD function isneq(ismn,ismn13); +ALTER EXTENSION isn ADD function isnge(ismn,ismn13); +ALTER EXTENSION isn ADD function isngt(ismn,ismn13); +ALTER EXTENSION isn ADD function isnne(ismn,ismn13); +ALTER EXTENSION isn ADD function isnlt(ismn,ean13); +ALTER EXTENSION isn ADD function isnle(ismn,ean13); +ALTER EXTENSION isn ADD function isneq(ismn,ean13); +ALTER EXTENSION isn ADD function isnge(ismn,ean13); +ALTER EXTENSION isn ADD function isngt(ismn,ean13); +ALTER EXTENSION isn ADD function isnne(ismn,ean13); +ALTER EXTENSION isn ADD function isnlt(issn13,issn13); +ALTER EXTENSION isn ADD function isnle(issn13,issn13); +ALTER EXTENSION isn ADD function isneq(issn13,issn13); +ALTER EXTENSION isn ADD function isnge(issn13,issn13); +ALTER EXTENSION isn ADD function isngt(issn13,issn13); +ALTER EXTENSION isn ADD function isnne(issn13,issn13); +ALTER EXTENSION isn ADD function isnlt(issn13,issn); +ALTER EXTENSION isn ADD function isnle(issn13,issn); +ALTER EXTENSION isn ADD function isneq(issn13,issn); +ALTER EXTENSION isn ADD function isnge(issn13,issn); +ALTER EXTENSION isn ADD function isngt(issn13,issn); +ALTER EXTENSION isn ADD function isnne(issn13,issn); +ALTER EXTENSION isn ADD function isnlt(issn13,ean13); +ALTER EXTENSION isn ADD function isnle(issn13,ean13); +ALTER EXTENSION isn ADD function isneq(issn13,ean13); +ALTER EXTENSION isn ADD function isnge(issn13,ean13); +ALTER EXTENSION isn ADD function isngt(issn13,ean13); +ALTER EXTENSION isn ADD function isnne(issn13,ean13); +ALTER EXTENSION isn ADD function isnlt(issn,issn); +ALTER EXTENSION isn ADD function isnle(issn,issn); +ALTER EXTENSION isn ADD function isneq(issn,issn); +ALTER EXTENSION isn ADD function isnge(issn,issn); +ALTER EXTENSION isn ADD function isngt(issn,issn); +ALTER EXTENSION isn ADD function isnne(issn,issn); +ALTER EXTENSION isn ADD function isnlt(issn,issn13); +ALTER EXTENSION isn ADD function isnle(issn,issn13); +ALTER EXTENSION isn ADD function isneq(issn,issn13); +ALTER EXTENSION isn ADD function isnge(issn,issn13); +ALTER EXTENSION isn ADD function isngt(issn,issn13); +ALTER EXTENSION isn ADD function isnne(issn,issn13); +ALTER EXTENSION isn ADD function isnlt(issn,ean13); +ALTER EXTENSION isn ADD function isnle(issn,ean13); +ALTER EXTENSION isn ADD function isneq(issn,ean13); +ALTER EXTENSION isn ADD function isnge(issn,ean13); +ALTER EXTENSION isn ADD function isngt(issn,ean13); +ALTER EXTENSION isn ADD function isnne(issn,ean13); +ALTER EXTENSION isn ADD function isnlt(upc,upc); +ALTER EXTENSION isn ADD function isnle(upc,upc); +ALTER EXTENSION isn ADD function isneq(upc,upc); +ALTER EXTENSION isn ADD function isnge(upc,upc); +ALTER EXTENSION isn ADD function isngt(upc,upc); +ALTER EXTENSION isn ADD function isnne(upc,upc); +ALTER EXTENSION isn ADD function isnlt(upc,ean13); +ALTER EXTENSION isn ADD function isnle(upc,ean13); +ALTER EXTENSION isn ADD function isneq(upc,ean13); +ALTER EXTENSION isn ADD function isnge(upc,ean13); +ALTER EXTENSION isn ADD function isngt(upc,ean13); +ALTER EXTENSION isn ADD function isnne(upc,ean13); +ALTER EXTENSION isn ADD operator >(ean13,ean13); +ALTER EXTENSION isn ADD operator >=(ean13,ean13); +ALTER EXTENSION isn ADD operator <(ean13,ean13); +ALTER EXTENSION isn ADD operator <=(ean13,ean13); +ALTER EXTENSION isn ADD operator <>(ean13,ean13); +ALTER EXTENSION isn ADD operator =(ean13,ean13); +ALTER EXTENSION isn ADD operator >(isbn13,ean13); +ALTER EXTENSION isn ADD operator >=(ean13,isbn13); +ALTER EXTENSION isn ADD operator <(ean13,isbn13); +ALTER EXTENSION isn ADD operator >=(isbn13,ean13); +ALTER EXTENSION isn ADD operator >(ean13,isbn13); +ALTER EXTENSION isn ADD operator <=(ean13,isbn13); +ALTER EXTENSION isn ADD operator =(isbn13,ean13); +ALTER EXTENSION isn ADD operator <>(ean13,isbn13); +ALTER EXTENSION isn ADD operator =(ean13,isbn13); +ALTER EXTENSION isn ADD operator <=(isbn13,ean13); +ALTER EXTENSION isn ADD operator <(isbn13,ean13); +ALTER EXTENSION isn ADD operator <>(isbn13,ean13); +ALTER EXTENSION isn ADD operator >(ismn13,ean13); +ALTER EXTENSION isn ADD operator >=(ean13,ismn13); +ALTER EXTENSION isn ADD operator <(ean13,ismn13); +ALTER EXTENSION isn ADD operator >=(ismn13,ean13); +ALTER EXTENSION isn ADD operator >(ean13,ismn13); +ALTER EXTENSION isn ADD operator <=(ean13,ismn13); +ALTER EXTENSION isn ADD operator =(ismn13,ean13); +ALTER EXTENSION isn ADD operator <>(ean13,ismn13); +ALTER EXTENSION isn ADD operator =(ean13,ismn13); +ALTER EXTENSION isn ADD operator <=(ismn13,ean13); +ALTER EXTENSION isn ADD operator <(ismn13,ean13); +ALTER EXTENSION isn ADD operator <>(ismn13,ean13); +ALTER EXTENSION isn ADD operator >(issn13,ean13); +ALTER EXTENSION isn ADD operator >=(ean13,issn13); +ALTER EXTENSION isn ADD operator <(ean13,issn13); +ALTER EXTENSION isn ADD operator >=(issn13,ean13); +ALTER EXTENSION isn ADD operator >(ean13,issn13); +ALTER EXTENSION isn ADD operator <=(ean13,issn13); +ALTER EXTENSION isn ADD operator =(issn13,ean13); +ALTER EXTENSION isn ADD operator <>(ean13,issn13); +ALTER EXTENSION isn ADD operator =(ean13,issn13); +ALTER EXTENSION isn ADD operator <=(issn13,ean13); +ALTER EXTENSION isn ADD operator <(issn13,ean13); +ALTER EXTENSION isn ADD operator <>(issn13,ean13); +ALTER EXTENSION isn ADD operator >(isbn,ean13); +ALTER EXTENSION isn ADD operator >=(ean13,isbn); +ALTER EXTENSION isn ADD operator <(ean13,isbn); +ALTER EXTENSION isn ADD operator >=(isbn,ean13); +ALTER EXTENSION isn ADD operator >(ean13,isbn); +ALTER EXTENSION isn ADD operator <=(ean13,isbn); +ALTER EXTENSION isn ADD operator =(isbn,ean13); +ALTER EXTENSION isn ADD operator <>(ean13,isbn); +ALTER EXTENSION isn ADD operator =(ean13,isbn); +ALTER EXTENSION isn ADD operator <=(isbn,ean13); +ALTER EXTENSION isn ADD operator <(isbn,ean13); +ALTER EXTENSION isn ADD operator <>(isbn,ean13); +ALTER EXTENSION isn ADD operator >(ismn,ean13); +ALTER EXTENSION isn ADD operator >=(ean13,ismn); +ALTER EXTENSION isn ADD operator <(ean13,ismn); +ALTER EXTENSION isn ADD operator >=(ismn,ean13); +ALTER EXTENSION isn ADD operator >(ean13,ismn); +ALTER EXTENSION isn ADD operator <=(ean13,ismn); +ALTER EXTENSION isn ADD operator =(ismn,ean13); +ALTER EXTENSION isn ADD operator <>(ean13,ismn); +ALTER EXTENSION isn ADD operator =(ean13,ismn); +ALTER EXTENSION isn ADD operator <=(ismn,ean13); +ALTER EXTENSION isn ADD operator <(ismn,ean13); +ALTER EXTENSION isn ADD operator <>(ismn,ean13); +ALTER EXTENSION isn ADD operator >(issn,ean13); +ALTER EXTENSION isn ADD operator >=(ean13,issn); +ALTER EXTENSION isn ADD operator <(ean13,issn); +ALTER EXTENSION isn ADD operator >=(issn,ean13); +ALTER EXTENSION isn ADD operator >(ean13,issn); +ALTER EXTENSION isn ADD operator <=(ean13,issn); +ALTER EXTENSION isn ADD operator =(issn,ean13); +ALTER EXTENSION isn ADD operator <>(ean13,issn); +ALTER EXTENSION isn ADD operator =(ean13,issn); +ALTER EXTENSION isn ADD operator <=(issn,ean13); +ALTER EXTENSION isn ADD operator <(issn,ean13); +ALTER EXTENSION isn ADD operator <>(issn,ean13); +ALTER EXTENSION isn ADD operator >(upc,ean13); +ALTER EXTENSION isn ADD operator >=(ean13,upc); +ALTER EXTENSION isn ADD operator <(ean13,upc); +ALTER EXTENSION isn ADD operator >=(upc,ean13); +ALTER EXTENSION isn ADD operator >(ean13,upc); +ALTER EXTENSION isn ADD operator <=(ean13,upc); +ALTER EXTENSION isn ADD operator =(upc,ean13); +ALTER EXTENSION isn ADD operator <>(ean13,upc); +ALTER EXTENSION isn ADD operator =(ean13,upc); +ALTER EXTENSION isn ADD operator <=(upc,ean13); +ALTER EXTENSION isn ADD operator <(upc,ean13); +ALTER EXTENSION isn ADD operator <>(upc,ean13); +ALTER EXTENSION isn ADD operator >(isbn13,isbn13); +ALTER EXTENSION isn ADD operator >=(isbn13,isbn13); +ALTER EXTENSION isn ADD operator <(isbn13,isbn13); +ALTER EXTENSION isn ADD operator <=(isbn13,isbn13); +ALTER EXTENSION isn ADD operator <>(isbn13,isbn13); +ALTER EXTENSION isn ADD operator =(isbn13,isbn13); +ALTER EXTENSION isn ADD operator >(isbn,isbn13); +ALTER EXTENSION isn ADD operator >=(isbn13,isbn); +ALTER EXTENSION isn ADD operator <(isbn13,isbn); +ALTER EXTENSION isn ADD operator >=(isbn,isbn13); +ALTER EXTENSION isn ADD operator >(isbn13,isbn); +ALTER EXTENSION isn ADD operator <=(isbn13,isbn); +ALTER EXTENSION isn ADD operator =(isbn,isbn13); +ALTER EXTENSION isn ADD operator <>(isbn13,isbn); +ALTER EXTENSION isn ADD operator =(isbn13,isbn); +ALTER EXTENSION isn ADD operator <=(isbn,isbn13); +ALTER EXTENSION isn ADD operator <(isbn,isbn13); +ALTER EXTENSION isn ADD operator <>(isbn,isbn13); +ALTER EXTENSION isn ADD operator >(isbn,isbn); +ALTER EXTENSION isn ADD operator >=(isbn,isbn); +ALTER EXTENSION isn ADD operator <(isbn,isbn); +ALTER EXTENSION isn ADD operator <=(isbn,isbn); +ALTER EXTENSION isn ADD operator <>(isbn,isbn); +ALTER EXTENSION isn ADD operator =(isbn,isbn); +ALTER EXTENSION isn ADD operator >(ismn13,ismn13); +ALTER EXTENSION isn ADD operator >=(ismn13,ismn13); +ALTER EXTENSION isn ADD operator <(ismn13,ismn13); +ALTER EXTENSION isn ADD operator <=(ismn13,ismn13); +ALTER EXTENSION isn ADD operator <>(ismn13,ismn13); +ALTER EXTENSION isn ADD operator =(ismn13,ismn13); +ALTER EXTENSION isn ADD operator >(ismn,ismn13); +ALTER EXTENSION isn ADD operator >=(ismn13,ismn); +ALTER EXTENSION isn ADD operator <(ismn13,ismn); +ALTER EXTENSION isn ADD operator >=(ismn,ismn13); +ALTER EXTENSION isn ADD operator >(ismn13,ismn); +ALTER EXTENSION isn ADD operator <=(ismn13,ismn); +ALTER EXTENSION isn ADD operator =(ismn,ismn13); +ALTER EXTENSION isn ADD operator <>(ismn13,ismn); +ALTER EXTENSION isn ADD operator =(ismn13,ismn); +ALTER EXTENSION isn ADD operator <=(ismn,ismn13); +ALTER EXTENSION isn ADD operator <(ismn,ismn13); +ALTER EXTENSION isn ADD operator <>(ismn,ismn13); +ALTER EXTENSION isn ADD operator >(ismn,ismn); +ALTER EXTENSION isn ADD operator >=(ismn,ismn); +ALTER EXTENSION isn ADD operator <(ismn,ismn); +ALTER EXTENSION isn ADD operator <=(ismn,ismn); +ALTER EXTENSION isn ADD operator <>(ismn,ismn); +ALTER EXTENSION isn ADD operator =(ismn,ismn); +ALTER EXTENSION isn ADD operator >(issn13,issn13); +ALTER EXTENSION isn ADD operator >=(issn13,issn13); +ALTER EXTENSION isn ADD operator <(issn13,issn13); +ALTER EXTENSION isn ADD operator <=(issn13,issn13); +ALTER EXTENSION isn ADD operator <>(issn13,issn13); +ALTER EXTENSION isn ADD operator =(issn13,issn13); +ALTER EXTENSION isn ADD operator >(issn,issn13); +ALTER EXTENSION isn ADD operator >=(issn13,issn); +ALTER EXTENSION isn ADD operator <(issn13,issn); +ALTER EXTENSION isn ADD operator >=(issn,issn13); +ALTER EXTENSION isn ADD operator >(issn13,issn); +ALTER EXTENSION isn ADD operator <=(issn13,issn); +ALTER EXTENSION isn ADD operator =(issn,issn13); +ALTER EXTENSION isn ADD operator <>(issn13,issn); +ALTER EXTENSION isn ADD operator =(issn13,issn); +ALTER EXTENSION isn ADD operator <=(issn,issn13); +ALTER EXTENSION isn ADD operator <(issn,issn13); +ALTER EXTENSION isn ADD operator <>(issn,issn13); +ALTER EXTENSION isn ADD operator >(issn,issn); +ALTER EXTENSION isn ADD operator >=(issn,issn); +ALTER EXTENSION isn ADD operator <(issn,issn); +ALTER EXTENSION isn ADD operator <=(issn,issn); +ALTER EXTENSION isn ADD operator <>(issn,issn); +ALTER EXTENSION isn ADD operator =(issn,issn); +ALTER EXTENSION isn ADD operator >(upc,upc); +ALTER EXTENSION isn ADD operator >=(upc,upc); +ALTER EXTENSION isn ADD operator <(upc,upc); +ALTER EXTENSION isn ADD operator <=(upc,upc); +ALTER EXTENSION isn ADD operator <>(upc,upc); +ALTER EXTENSION isn ADD operator =(upc,upc); +ALTER EXTENSION isn ADD operator family isn_ops using btree; +ALTER EXTENSION isn ADD operator family isn_ops using hash; +ALTER EXTENSION isn ADD function btean13cmp(ean13,ean13); +ALTER EXTENSION isn ADD operator class ean13_ops using btree; +ALTER EXTENSION isn ADD function hashean13(ean13); +ALTER EXTENSION isn ADD operator class ean13_ops using hash; +ALTER EXTENSION isn ADD function btean13cmp(ean13,isbn13); +ALTER EXTENSION isn ADD function btean13cmp(ean13,ismn13); +ALTER EXTENSION isn ADD function btean13cmp(ean13,issn13); +ALTER EXTENSION isn ADD function btean13cmp(ean13,isbn); +ALTER EXTENSION isn ADD function btean13cmp(ean13,ismn); +ALTER EXTENSION isn ADD function btean13cmp(ean13,issn); +ALTER EXTENSION isn ADD function btean13cmp(ean13,upc); +ALTER EXTENSION isn ADD function btisbn13cmp(isbn13,isbn13); +ALTER EXTENSION isn ADD operator class isbn13_ops using btree; +ALTER EXTENSION isn ADD function hashisbn13(isbn13); +ALTER EXTENSION isn ADD operator class isbn13_ops using hash; +ALTER EXTENSION isn ADD function btisbn13cmp(isbn13,ean13); +ALTER EXTENSION isn ADD function btisbn13cmp(isbn13,isbn); +ALTER EXTENSION isn ADD function btisbncmp(isbn,isbn); +ALTER EXTENSION isn ADD operator class isbn_ops using btree; +ALTER EXTENSION isn ADD function hashisbn(isbn); +ALTER EXTENSION isn ADD operator class isbn_ops using hash; +ALTER EXTENSION isn ADD function btisbncmp(isbn,ean13); +ALTER EXTENSION isn ADD function btisbncmp(isbn,isbn13); +ALTER EXTENSION isn ADD function btismn13cmp(ismn13,ismn13); +ALTER EXTENSION isn ADD operator class ismn13_ops using btree; +ALTER EXTENSION isn ADD function hashismn13(ismn13); +ALTER EXTENSION isn ADD operator class ismn13_ops using hash; +ALTER EXTENSION isn ADD function btismn13cmp(ismn13,ean13); +ALTER EXTENSION isn ADD function btismn13cmp(ismn13,ismn); +ALTER EXTENSION isn ADD function btismncmp(ismn,ismn); +ALTER EXTENSION isn ADD operator class ismn_ops using btree; +ALTER EXTENSION isn ADD function hashismn(ismn); +ALTER EXTENSION isn ADD operator class ismn_ops using hash; +ALTER EXTENSION isn ADD function btismncmp(ismn,ean13); +ALTER EXTENSION isn ADD function btismncmp(ismn,ismn13); +ALTER EXTENSION isn ADD function btissn13cmp(issn13,issn13); +ALTER EXTENSION isn ADD operator class issn13_ops using btree; +ALTER EXTENSION isn ADD function hashissn13(issn13); +ALTER EXTENSION isn ADD operator class issn13_ops using hash; +ALTER EXTENSION isn ADD function btissn13cmp(issn13,ean13); +ALTER EXTENSION isn ADD function btissn13cmp(issn13,issn); +ALTER EXTENSION isn ADD function btissncmp(issn,issn); +ALTER EXTENSION isn ADD operator class issn_ops using btree; +ALTER EXTENSION isn ADD function hashissn(issn); +ALTER EXTENSION isn ADD operator class issn_ops using hash; +ALTER EXTENSION isn ADD function btissncmp(issn,ean13); +ALTER EXTENSION isn ADD function btissncmp(issn,issn13); +ALTER EXTENSION isn ADD function btupccmp(upc,upc); +ALTER EXTENSION isn ADD operator class upc_ops using btree; +ALTER EXTENSION isn ADD function hashupc(upc); +ALTER EXTENSION isn ADD operator class upc_ops using hash; +ALTER EXTENSION isn ADD function btupccmp(upc,ean13); +ALTER EXTENSION isn ADD function isbn13(ean13); +ALTER EXTENSION isn ADD function ismn13(ean13); +ALTER EXTENSION isn ADD function issn13(ean13); +ALTER EXTENSION isn ADD function isbn(ean13); +ALTER EXTENSION isn ADD function ismn(ean13); +ALTER EXTENSION isn ADD function issn(ean13); +ALTER EXTENSION isn ADD function upc(ean13); +ALTER EXTENSION isn ADD cast (ean13 as isbn13); +ALTER EXTENSION isn ADD cast (ean13 as isbn); +ALTER EXTENSION isn ADD cast (ean13 as ismn13); +ALTER EXTENSION isn ADD cast (ean13 as ismn); +ALTER EXTENSION isn ADD cast (ean13 as issn13); +ALTER EXTENSION isn ADD cast (ean13 as issn); +ALTER EXTENSION isn ADD cast (ean13 as upc); +ALTER EXTENSION isn ADD cast (isbn13 as ean13); +ALTER EXTENSION isn ADD cast (isbn as ean13); +ALTER EXTENSION isn ADD cast (ismn13 as ean13); +ALTER EXTENSION isn ADD cast (ismn as ean13); +ALTER EXTENSION isn ADD cast (issn13 as ean13); +ALTER EXTENSION isn ADD cast (issn as ean13); +ALTER EXTENSION isn ADD cast (upc as ean13); +ALTER EXTENSION isn ADD cast (isbn as isbn13); +ALTER EXTENSION isn ADD cast (isbn13 as isbn); +ALTER EXTENSION isn ADD cast (ismn as ismn13); +ALTER EXTENSION isn ADD cast (ismn13 as ismn); +ALTER EXTENSION isn ADD cast (issn as issn13); +ALTER EXTENSION isn ADD cast (issn13 as issn); +ALTER EXTENSION isn ADD function make_valid(ean13); +ALTER EXTENSION isn ADD function make_valid(isbn13); +ALTER EXTENSION isn ADD function make_valid(ismn13); +ALTER EXTENSION isn ADD function make_valid(issn13); +ALTER EXTENSION isn ADD function make_valid(isbn); +ALTER EXTENSION isn ADD function make_valid(ismn); +ALTER EXTENSION isn ADD function make_valid(issn); +ALTER EXTENSION isn ADD function make_valid(upc); +ALTER EXTENSION isn ADD function is_valid(ean13); +ALTER EXTENSION isn ADD function is_valid(isbn13); +ALTER EXTENSION isn ADD function is_valid(ismn13); +ALTER EXTENSION isn ADD function is_valid(issn13); +ALTER EXTENSION isn ADD function is_valid(isbn); +ALTER EXTENSION isn ADD function is_valid(ismn); +ALTER EXTENSION isn ADD function is_valid(issn); +ALTER EXTENSION isn ADD function is_valid(upc); +ALTER EXTENSION isn ADD function isn_weak(boolean); +ALTER EXTENSION isn ADD function isn_weak(); diff --git a/contrib/isn/isn.c b/contrib/isn/isn.c index dac760b111..b698cb00ff 100644 --- a/contrib/isn/isn.c +++ b/contrib/isn/isn.c @@ -4,10 +4,10 @@ * PostgreSQL type definitions for ISNs (ISBN, ISMN, ISSN, EAN13, UPC) * * Author: German Mendez Bravo (Kronuz) - * Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2011, PostgreSQL Global Development Group * * IDENTIFICATION - * $PostgreSQL: pgsql/contrib/isn/isn.c,v 1.14 2010/02/26 02:00:32 momjian Exp $ + * contrib/isn/isn.c * *------------------------------------------------------------------------- */ @@ -341,8 +341,7 @@ ean2isn(ean13 ean, bool errorOK, ean13 *result, enum isn_type accept) enum isn_type type = INVALID; char buf[MAXEAN13LEN + 1]; - char *firstdig, - *aux; + char *aux; unsigned digval; unsigned search; ean13 ret = ean; @@ -354,7 +353,7 @@ ean2isn(ean13 ean, bool errorOK, ean13 *result, enum isn_type accept) /* convert the number */ search = 0; - firstdig = aux = buf + 13; + aux = buf + 13; *aux = '\0'; /* terminate string; aux points to last digit */ do { @@ -528,8 +527,7 @@ ean2string(ean13 ean, bool errorOK, char *result, bool shortType) const unsigned (*TABLE_index)[2]; enum isn_type type = INVALID; - char *firstdig, - *aux; + char *aux; unsigned digval; unsigned search; char valid = '\0'; /* was the number initially written with a @@ -546,7 +544,7 @@ ean2string(ean13 ean, bool errorOK, char *result, bool shortType) /* convert the number */ search = 0; - firstdig = aux = result + MAXEAN13LEN; + aux = result + MAXEAN13LEN; *aux = '\0'; /* terminate string; aux points to last digit */ *--aux = valid; /* append '!' for numbers with invalid but * corrected check digit */ @@ -573,7 +571,7 @@ ean2string(ean13 ean, bool errorOK, char *result, bool shortType) /* find out what type of hyphenation is needed: */ if (!strncmp("978-", result, search)) - { /* ISBN */ + { /* ISBN -13 978-range */ /* The string should be in this form: 978-??000000000-0" */ type = ISBN; TABLE = ISBN_range; @@ -593,6 +591,13 @@ ean2string(ean13 ean, bool errorOK, char *result, bool shortType) TABLE = ISMN_range; TABLE_index = ISMN_index; } + else if (!strncmp("979-", result, search)) + { /* ISBN-13 979-range */ + /* The string should be in this form: 979-??000000000-0" */ + type = ISBN; + TABLE = ISBN_range_new; + TABLE_index = ISBN_index_new; + } else if (*result == '0') { /* UPC */ /* The string should be in this form: 000-00000000000-0" */ diff --git a/contrib/isn/isn.control b/contrib/isn/isn.control new file mode 100644 index 0000000000..cf0b2ebe38 --- /dev/null +++ b/contrib/isn/isn.control @@ -0,0 +1,5 @@ +# isn extension +comment = 'data types for international product numbering standards' +default_version = '1.0' +module_pathname = '$libdir/isn' +relocatable = true diff --git a/contrib/isn/isn.h b/contrib/isn/isn.h index fdc72d9b53..3f478b5f4b 100644 --- a/contrib/isn/isn.h +++ b/contrib/isn/isn.h @@ -4,10 +4,10 @@ * PostgreSQL type definitions for ISNs (ISBN, ISMN, ISSN, EAN13, UPC) * * Author: German Mendez Bravo (Kronuz) - * Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2011, PostgreSQL Global Development Group * * IDENTIFICATION - * $PostgreSQL: pgsql/contrib/isn/isn.h,v 1.10 2010/02/26 02:00:32 momjian Exp $ + * contrib/isn/isn.h * *------------------------------------------------------------------------- */ diff --git a/contrib/isn/uninstall_isn.sql b/contrib/isn/uninstall_isn.sql deleted file mode 100644 index cc7b573b04..0000000000 --- a/contrib/isn/uninstall_isn.sql +++ /dev/null @@ -1,24 +0,0 @@ -/* $PostgreSQL: pgsql/contrib/isn/uninstall_isn.sql,v 1.4 2008/11/28 21:19:13 tgl Exp $ */ - --- Adjust this setting to control where the objects get dropped. -SET search_path = public; - --- Drop the operator families (which don't depend on the types) -DROP OPERATOR FAMILY isn_ops USING btree CASCADE; -DROP OPERATOR FAMILY isn_ops USING hash CASCADE; - --- --- Drop the actual types (in cascade): --- -DROP TYPE ean13 CASCADE; -DROP TYPE isbn13 CASCADE; -DROP TYPE ismn13 CASCADE; -DROP TYPE issn13 CASCADE; -DROP TYPE isbn CASCADE; -DROP TYPE ismn CASCADE; -DROP TYPE issn CASCADE; -DROP TYPE upc CASCADE; - --- and clean up a couple miscellaneous functions -DROP FUNCTION isn_weak(); -DROP FUNCTION isn_weak(boolean); |