From 2822c7c0fce20db579c0ae7042529a418ff41d48 Mon Sep 17 00:00:00 2001 From: Tom Lane <tgl@sss.pgh.pa.us> Date: Fri, 24 Nov 2006 18:44:37 +0000 Subject: [PATCH] Make contrib/isn pass the opr_sanity sanity checks: add missing commutator operators, and mark hash-opclass members as oprcanhash. This is a pretty ugly, brute-force solution, but it seems that getting rid of all these redundant-looking operators would require some tweaks in the core operator-resolution code to behave nicely, and I'm not willing to risk that just before RC1. --- contrib/isn/isn.sql.in | 1215 +++++++++++++++++++++++++++++++++------- 1 file changed, 1010 insertions(+), 205 deletions(-) diff --git a/contrib/isn/isn.sql.in b/contrib/isn/isn.sql.in index 7268f642678..1bae4b01d0b 100644 --- a/contrib/isn/isn.sql.in +++ b/contrib/isn/isn.sql.in @@ -2,7 +2,7 @@ -- PostgreSQL code for ISNs (ISBN, ISMN, ISSN, EAN13, UPC) -- Copyright (c) 2004-2006, German Mendez Bravo (Kronuz) -- --- $PostgreSQL: pgsql/contrib/isn/isn.sql.in,v 1.3 2006/10/01 18:37:53 tgl Exp $ +-- $PostgreSQL: pgsql/contrib/isn/isn.sql.in,v 1.4 2006/11/24 18:44:37 tgl Exp $ -- -- Example: -- create table test ( id isbn ); @@ -500,6 +500,37 @@ CREATE FUNCTION isnne(isbn13, isbn) LANGUAGE 'internal' IMMUTABLE STRICT; +CREATE FUNCTION isnlt(isbn13, ean13) + RETURNS boolean + AS 'int8lt' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isnle(isbn13, ean13) + RETURNS boolean + AS 'int8le' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isneq(isbn13, ean13) + RETURNS boolean + AS 'int8eq' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isnge(isbn13, ean13) + RETURNS boolean + AS 'int8ge' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isngt(isbn13, ean13) + RETURNS boolean + AS 'int8gt' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isnne(isbn13, ean13) + RETURNS boolean + AS 'int8ne' + LANGUAGE 'internal' + IMMUTABLE STRICT; + --------------------------------------------------- -- ISBN: CREATE FUNCTION isnlt(isbn, isbn) @@ -533,6 +564,68 @@ CREATE FUNCTION isnne(isbn, isbn) LANGUAGE 'internal' IMMUTABLE STRICT; +CREATE FUNCTION isnlt(isbn, isbn13) + RETURNS boolean + AS 'int8lt' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isnle(isbn, isbn13) + RETURNS boolean + AS 'int8le' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isneq(isbn, isbn13) + RETURNS boolean + AS 'int8eq' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isnge(isbn, isbn13) + RETURNS boolean + AS 'int8ge' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isngt(isbn, isbn13) + RETURNS boolean + AS 'int8gt' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isnne(isbn, isbn13) + RETURNS boolean + AS 'int8ne' + LANGUAGE 'internal' + IMMUTABLE STRICT; + +CREATE FUNCTION isnlt(isbn, ean13) + RETURNS boolean + AS 'int8lt' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isnle(isbn, ean13) + RETURNS boolean + AS 'int8le' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isneq(isbn, ean13) + RETURNS boolean + AS 'int8eq' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isnge(isbn, ean13) + RETURNS boolean + AS 'int8ge' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isngt(isbn, ean13) + RETURNS boolean + AS 'int8gt' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isnne(isbn, ean13) + RETURNS boolean + AS 'int8ne' + LANGUAGE 'internal' + IMMUTABLE STRICT; + --------------------------------------------------- -- ISMN13: CREATE FUNCTION isnlt(ismn13, ismn13) @@ -597,6 +690,37 @@ CREATE FUNCTION isnne(ismn13, ismn) LANGUAGE 'internal' IMMUTABLE STRICT; +CREATE FUNCTION isnlt(ismn13, ean13) + RETURNS boolean + AS 'int8lt' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isnle(ismn13, ean13) + RETURNS boolean + AS 'int8le' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isneq(ismn13, ean13) + RETURNS boolean + AS 'int8eq' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isnge(ismn13, ean13) + RETURNS boolean + AS 'int8ge' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isngt(ismn13, ean13) + RETURNS boolean + AS 'int8gt' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isnne(ismn13, ean13) + RETURNS boolean + AS 'int8ne' + LANGUAGE 'internal' + IMMUTABLE STRICT; + --------------------------------------------------- -- ISMN: CREATE FUNCTION isnlt(ismn, ismn) @@ -630,6 +754,68 @@ CREATE FUNCTION isnne(ismn, ismn) LANGUAGE 'internal' IMMUTABLE STRICT; +CREATE FUNCTION isnlt(ismn, ismn13) + RETURNS boolean + AS 'int8lt' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isnle(ismn, ismn13) + RETURNS boolean + AS 'int8le' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isneq(ismn, ismn13) + RETURNS boolean + AS 'int8eq' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isnge(ismn, ismn13) + RETURNS boolean + AS 'int8ge' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isngt(ismn, ismn13) + RETURNS boolean + AS 'int8gt' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isnne(ismn, ismn13) + RETURNS boolean + AS 'int8ne' + LANGUAGE 'internal' + IMMUTABLE STRICT; + +CREATE FUNCTION isnlt(ismn, ean13) + RETURNS boolean + AS 'int8lt' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isnle(ismn, ean13) + RETURNS boolean + AS 'int8le' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isneq(ismn, ean13) + RETURNS boolean + AS 'int8eq' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isnge(ismn, ean13) + RETURNS boolean + AS 'int8ge' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isngt(ismn, ean13) + RETURNS boolean + AS 'int8gt' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isnne(ismn, ean13) + RETURNS boolean + AS 'int8ne' + LANGUAGE 'internal' + IMMUTABLE STRICT; + --------------------------------------------------- -- ISSN13: CREATE FUNCTION isnlt(issn13, issn13) @@ -694,6 +880,37 @@ CREATE FUNCTION isnne(issn13, issn) LANGUAGE 'internal' IMMUTABLE STRICT; +CREATE FUNCTION isnlt(issn13, ean13) + RETURNS boolean + AS 'int8lt' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isnle(issn13, ean13) + RETURNS boolean + AS 'int8le' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isneq(issn13, ean13) + RETURNS boolean + AS 'int8eq' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isnge(issn13, ean13) + RETURNS boolean + AS 'int8ge' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isngt(issn13, ean13) + RETURNS boolean + AS 'int8gt' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isnne(issn13, ean13) + RETURNS boolean + AS 'int8ne' + LANGUAGE 'internal' + IMMUTABLE STRICT; + --------------------------------------------------- -- ISSN: CREATE FUNCTION isnlt(issn, issn) @@ -727,6 +944,68 @@ CREATE FUNCTION isnne(issn, issn) LANGUAGE 'internal' IMMUTABLE STRICT; +CREATE FUNCTION isnlt(issn, issn13) + RETURNS boolean + AS 'int8lt' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isnle(issn, issn13) + RETURNS boolean + AS 'int8le' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isneq(issn, issn13) + RETURNS boolean + AS 'int8eq' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isnge(issn, issn13) + RETURNS boolean + AS 'int8ge' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isngt(issn, issn13) + RETURNS boolean + AS 'int8gt' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isnne(issn, issn13) + RETURNS boolean + AS 'int8ne' + LANGUAGE 'internal' + IMMUTABLE STRICT; + +CREATE FUNCTION isnlt(issn, ean13) + RETURNS boolean + AS 'int8lt' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isnle(issn, ean13) + RETURNS boolean + AS 'int8le' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isneq(issn, ean13) + RETURNS boolean + AS 'int8eq' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isnge(issn, ean13) + RETURNS boolean + AS 'int8ge' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isngt(issn, ean13) + RETURNS boolean + AS 'int8gt' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isnne(issn, ean13) + RETURNS boolean + AS 'int8ne' + LANGUAGE 'internal' + IMMUTABLE STRICT; + --------------------------------------------------- -- UPC: CREATE FUNCTION isnlt(upc, upc) @@ -760,11 +1039,39 @@ CREATE FUNCTION isnne(upc, upc) LANGUAGE 'internal' IMMUTABLE STRICT; +CREATE FUNCTION isnlt(upc, ean13) + RETURNS boolean + AS 'int8lt' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isnle(upc, ean13) + RETURNS boolean + AS 'int8le' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isneq(upc, ean13) + RETURNS boolean + AS 'int8eq' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isnge(upc, ean13) + RETURNS boolean + AS 'int8ge' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isngt(upc, ean13) + RETURNS boolean + AS 'int8gt' + LANGUAGE 'internal' + IMMUTABLE STRICT; +CREATE FUNCTION isnne(upc, ean13) + RETURNS boolean + AS 'int8ne' + LANGUAGE 'internal' + IMMUTABLE STRICT; + -- --- Now the operators. Note how some of the parameters to some --- of the 'CREATE OPERATOR' commands are commented out. This --- is because they reference as yet undefined operators, and --- will be implicitly defined when those are, further down. +-- Now the operators: -- -- @@ -794,7 +1101,8 @@ CREATE OPERATOR = ( COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, - JOIN = eqjoinsel); + JOIN = eqjoinsel, + HASHES); CREATE OPERATOR >= ( PROCEDURE = isnge, LEFTARG = ean13, @@ -871,15 +1179,64 @@ CREATE OPERATOR <> ( CREATE OPERATOR < ( PROCEDURE = isnlt, - LEFTARG = ean13, - RIGHTARG = ismn13, + LEFTARG = isbn13, + RIGHTARG = ean13, COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel); CREATE OPERATOR <= ( PROCEDURE = isnle, - LEFTARG = ean13, + LEFTARG = isbn13, + RIGHTARG = ean13, + COMMUTATOR = >=, + NEGATOR = >, + RESTRICT = scalarltsel, + JOIN = scalarltjoinsel); +CREATE OPERATOR = ( + PROCEDURE = isneq, + LEFTARG = isbn13, + RIGHTARG = ean13, + COMMUTATOR = =, + NEGATOR = <>, + RESTRICT = eqsel, + JOIN = eqjoinsel); +CREATE OPERATOR >= ( + PROCEDURE = isnge, + LEFTARG = isbn13, + RIGHTARG = ean13, + COMMUTATOR = <=, + NEGATOR = <, + RESTRICT = scalargtsel, + JOIN = scalargtjoinsel ); +CREATE OPERATOR > ( + PROCEDURE = isngt, + LEFTARG = isbn13, + RIGHTARG = ean13, + COMMUTATOR = <, + NEGATOR = <=, + RESTRICT = scalargtsel, + JOIN = scalargtjoinsel ); +CREATE OPERATOR <> ( + PROCEDURE = isnne, + LEFTARG = isbn13, + RIGHTARG = ean13, + COMMUTATOR = <>, + NEGATOR = =, + RESTRICT = neqsel, + JOIN = neqjoinsel); + +CREATE OPERATOR < ( + PROCEDURE = isnlt, + LEFTARG = ean13, + RIGHTARG = ismn13, + COMMUTATOR = >, + NEGATOR = >=, + RESTRICT = scalarltsel, + JOIN = scalarltjoinsel); +CREATE OPERATOR <= ( + PROCEDURE = isnle, + LEFTARG = ean13, RIGHTARG = ismn13, COMMUTATOR = >=, NEGATOR = >, @@ -918,6 +1275,55 @@ CREATE OPERATOR <> ( RESTRICT = neqsel, JOIN = neqjoinsel); +CREATE OPERATOR < ( + PROCEDURE = isnlt, + LEFTARG = ismn13, + RIGHTARG = ean13, + COMMUTATOR = >, + NEGATOR = >=, + RESTRICT = scalarltsel, + JOIN = scalarltjoinsel); +CREATE OPERATOR <= ( + PROCEDURE = isnle, + LEFTARG = ismn13, + RIGHTARG = ean13, + COMMUTATOR = >=, + NEGATOR = >, + RESTRICT = scalarltsel, + JOIN = scalarltjoinsel); +CREATE OPERATOR = ( + PROCEDURE = isneq, + LEFTARG = ismn13, + RIGHTARG = ean13, + COMMUTATOR = =, + NEGATOR = <>, + RESTRICT = eqsel, + JOIN = eqjoinsel); +CREATE OPERATOR >= ( + PROCEDURE = isnge, + LEFTARG = ismn13, + RIGHTARG = ean13, + COMMUTATOR = <=, + NEGATOR = <, + RESTRICT = scalargtsel, + JOIN = scalargtjoinsel ); +CREATE OPERATOR > ( + PROCEDURE = isngt, + LEFTARG = ismn13, + RIGHTARG = ean13, + COMMUTATOR = <, + NEGATOR = <=, + RESTRICT = scalargtsel, + JOIN = scalargtjoinsel ); +CREATE OPERATOR <> ( + PROCEDURE = isnne, + LEFTARG = ismn13, + RIGHTARG = ean13, + COMMUTATOR = <>, + NEGATOR = =, + RESTRICT = neqsel, + JOIN = neqjoinsel); + CREATE OPERATOR < ( PROCEDURE = isnlt, LEFTARG = ean13, @@ -1145,72 +1551,480 @@ CREATE OPERATOR >= ( COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargtsel, - JOIN = scalargtjoinsel); + JOIN = scalargtjoinsel); +CREATE OPERATOR > ( + PROCEDURE = isngt, + LEFTARG = ean13, + RIGHTARG = upc, + COMMUTATOR = <, + NEGATOR = <=, + RESTRICT = scalargtsel, + JOIN = scalargtjoinsel); +CREATE OPERATOR <> ( + PROCEDURE = isnne, + LEFTARG = ean13, + RIGHTARG = upc, + COMMUTATOR = <>, + NEGATOR = =, + RESTRICT = neqsel, + JOIN = neqjoinsel); + +-- +-- ISBN13 operators: +-- +--------------------------------------------------- +CREATE OPERATOR < ( + PROCEDURE = isnlt, + LEFTARG = isbn13, + RIGHTARG = isbn13, + COMMUTATOR = >, + NEGATOR = >=, + RESTRICT = scalarltsel, + JOIN = scalarltjoinsel); +CREATE OPERATOR <= ( + PROCEDURE = isnle, + LEFTARG = isbn13, + RIGHTARG = isbn13, + COMMUTATOR = >=, + NEGATOR = >, + RESTRICT = scalarltsel, + JOIN = scalarltjoinsel); +CREATE OPERATOR = ( + PROCEDURE = isneq, + LEFTARG = isbn13, + RIGHTARG = isbn13, + COMMUTATOR = =, + NEGATOR = <>, + RESTRICT = eqsel, + JOIN = eqjoinsel, + HASHES); +CREATE OPERATOR >= ( + PROCEDURE = isnge, + LEFTARG = isbn13, + RIGHTARG = isbn13, + COMMUTATOR = <=, + NEGATOR = <, + RESTRICT = scalargtsel, + JOIN = scalargtjoinsel ); +CREATE OPERATOR > ( + PROCEDURE = isngt, + LEFTARG = isbn13, + RIGHTARG = isbn13, + COMMUTATOR = <, + NEGATOR = <=, + RESTRICT = scalargtsel, + JOIN = scalargtjoinsel ); +CREATE OPERATOR <> ( + PROCEDURE = isnne, + LEFTARG = isbn13, + RIGHTARG = isbn13, + COMMUTATOR = <>, + NEGATOR = =, + RESTRICT = neqsel, + JOIN = neqjoinsel); + +CREATE OPERATOR < ( + PROCEDURE = isnlt, + LEFTARG = isbn13, + RIGHTARG = isbn, + COMMUTATOR = >, + NEGATOR = >=, + RESTRICT = scalarltsel, + JOIN = scalarltjoinsel); +CREATE OPERATOR <= ( + PROCEDURE = isnle, + LEFTARG = isbn13, + RIGHTARG = isbn, + COMMUTATOR = >=, + NEGATOR = >, + RESTRICT = scalarltsel, + JOIN = scalarltjoinsel); +CREATE OPERATOR = ( + PROCEDURE = isneq, + LEFTARG = isbn13, + RIGHTARG = isbn, + COMMUTATOR = =, + NEGATOR = <>, + RESTRICT = eqsel, + JOIN = eqjoinsel); +CREATE OPERATOR >= ( + PROCEDURE = isnge, + LEFTARG = isbn13, + RIGHTARG = isbn, + COMMUTATOR = <=, + NEGATOR = <, + RESTRICT = scalargtsel, + JOIN = scalargtjoinsel ); +CREATE OPERATOR > ( + PROCEDURE = isngt, + LEFTARG = isbn13, + RIGHTARG = isbn, + COMMUTATOR = <, + NEGATOR = <=, + RESTRICT = scalargtsel, + JOIN = scalargtjoinsel ); +CREATE OPERATOR <> ( + PROCEDURE = isnne, + LEFTARG = isbn13, + RIGHTARG = isbn, + COMMUTATOR = <>, + NEGATOR = =, + RESTRICT = neqsel, + JOIN = neqjoinsel); + +-- +-- ISBN operators: +-- +--------------------------------------------------- +CREATE OPERATOR < ( + PROCEDURE = isnlt, + LEFTARG = isbn, + RIGHTARG = isbn, + COMMUTATOR = >, + NEGATOR = >=, + RESTRICT = scalarltsel, + JOIN = scalarltjoinsel); +CREATE OPERATOR <= ( + PROCEDURE = isnle, + LEFTARG = isbn, + RIGHTARG = isbn, + COMMUTATOR = >=, + NEGATOR = >, + RESTRICT = scalarltsel, + JOIN = scalarltjoinsel); +CREATE OPERATOR = ( + PROCEDURE = isneq, + LEFTARG = isbn, + RIGHTARG = isbn, + COMMUTATOR = =, + NEGATOR = <>, + RESTRICT = eqsel, + JOIN = eqjoinsel, + HASHES); +CREATE OPERATOR >= ( + PROCEDURE = isnge, + LEFTARG = isbn, + RIGHTARG = isbn, + COMMUTATOR = <=, + NEGATOR = <, + RESTRICT = scalargtsel, + JOIN = scalargtjoinsel ); +CREATE OPERATOR > ( + PROCEDURE = isngt, + LEFTARG = isbn, + RIGHTARG = isbn, + COMMUTATOR = <, + NEGATOR = <=, + RESTRICT = scalargtsel, + JOIN = scalargtjoinsel ); +CREATE OPERATOR <> ( + PROCEDURE = isnne, + LEFTARG = isbn, + RIGHTARG = isbn, + COMMUTATOR = <>, + NEGATOR = =, + RESTRICT = neqsel, + JOIN = neqjoinsel); + +CREATE OPERATOR < ( + PROCEDURE = isnlt, + LEFTARG = isbn, + RIGHTARG = isbn13, + COMMUTATOR = >, + NEGATOR = >=, + RESTRICT = scalarltsel, + JOIN = scalarltjoinsel); +CREATE OPERATOR <= ( + PROCEDURE = isnle, + LEFTARG = isbn, + RIGHTARG = isbn13, + COMMUTATOR = >=, + NEGATOR = >, + RESTRICT = scalarltsel, + JOIN = scalarltjoinsel); +CREATE OPERATOR = ( + PROCEDURE = isneq, + LEFTARG = isbn, + RIGHTARG = isbn13, + COMMUTATOR = =, + NEGATOR = <>, + RESTRICT = eqsel, + JOIN = eqjoinsel); +CREATE OPERATOR >= ( + PROCEDURE = isnge, + LEFTARG = isbn, + RIGHTARG = isbn13, + COMMUTATOR = <=, + NEGATOR = <, + RESTRICT = scalargtsel, + JOIN = scalargtjoinsel ); +CREATE OPERATOR > ( + PROCEDURE = isngt, + LEFTARG = isbn, + RIGHTARG = isbn13, + COMMUTATOR = <, + NEGATOR = <=, + RESTRICT = scalargtsel, + JOIN = scalargtjoinsel ); +CREATE OPERATOR <> ( + PROCEDURE = isnne, + LEFTARG = isbn, + RIGHTARG = isbn13, + COMMUTATOR = <>, + NEGATOR = =, + RESTRICT = neqsel, + JOIN = neqjoinsel); + +CREATE OPERATOR < ( + PROCEDURE = isnlt, + LEFTARG = isbn, + RIGHTARG = ean13, + COMMUTATOR = >, + NEGATOR = >=, + RESTRICT = scalarltsel, + JOIN = scalarltjoinsel); +CREATE OPERATOR <= ( + PROCEDURE = isnle, + LEFTARG = isbn, + RIGHTARG = ean13, + COMMUTATOR = >=, + NEGATOR = >, + RESTRICT = scalarltsel, + JOIN = scalarltjoinsel); +CREATE OPERATOR = ( + PROCEDURE = isneq, + LEFTARG = isbn, + RIGHTARG = ean13, + COMMUTATOR = =, + NEGATOR = <>, + RESTRICT = eqsel, + JOIN = eqjoinsel); +CREATE OPERATOR >= ( + PROCEDURE = isnge, + LEFTARG = isbn, + RIGHTARG = ean13, + COMMUTATOR = <=, + NEGATOR = <, + RESTRICT = scalargtsel, + JOIN = scalargtjoinsel ); +CREATE OPERATOR > ( + PROCEDURE = isngt, + LEFTARG = isbn, + RIGHTARG = ean13, + COMMUTATOR = <, + NEGATOR = <=, + RESTRICT = scalargtsel, + JOIN = scalargtjoinsel ); +CREATE OPERATOR <> ( + PROCEDURE = isnne, + LEFTARG = isbn, + RIGHTARG = ean13, + COMMUTATOR = <>, + NEGATOR = =, + RESTRICT = neqsel, + JOIN = neqjoinsel); + +-- +-- ISMN13 operators: +-- +--------------------------------------------------- +CREATE OPERATOR < ( + PROCEDURE = isnlt, + LEFTARG = ismn13, + RIGHTARG = ismn13, + COMMUTATOR = >, + NEGATOR = >=, + RESTRICT = scalarltsel, + JOIN = scalarltjoinsel); +CREATE OPERATOR <= ( + PROCEDURE = isnle, + LEFTARG = ismn13, + RIGHTARG = ismn13, + COMMUTATOR = >=, + NEGATOR = >, + RESTRICT = scalarltsel, + JOIN = scalarltjoinsel); +CREATE OPERATOR = ( + PROCEDURE = isneq, + LEFTARG = ismn13, + RIGHTARG = ismn13, + COMMUTATOR = =, + NEGATOR = <>, + RESTRICT = eqsel, + JOIN = eqjoinsel, + HASHES); +CREATE OPERATOR >= ( + PROCEDURE = isnge, + LEFTARG = ismn13, + RIGHTARG = ismn13, + COMMUTATOR = <=, + NEGATOR = <, + RESTRICT = scalargtsel, + JOIN = scalargtjoinsel ); +CREATE OPERATOR > ( + PROCEDURE = isngt, + LEFTARG = ismn13, + RIGHTARG = ismn13, + COMMUTATOR = <, + NEGATOR = <=, + RESTRICT = scalargtsel, + JOIN = scalargtjoinsel ); +CREATE OPERATOR <> ( + PROCEDURE = isnne, + LEFTARG = ismn13, + RIGHTARG = ismn13, + COMMUTATOR = <>, + NEGATOR = =, + RESTRICT = neqsel, + JOIN = neqjoinsel); + +CREATE OPERATOR < ( + PROCEDURE = isnlt, + LEFTARG = ismn13, + RIGHTARG = ismn, + COMMUTATOR = >, + NEGATOR = >=, + RESTRICT = scalarltsel, + JOIN = scalarltjoinsel); +CREATE OPERATOR <= ( + PROCEDURE = isnle, + LEFTARG = ismn13, + RIGHTARG = ismn, + COMMUTATOR = >=, + NEGATOR = >, + RESTRICT = scalarltsel, + JOIN = scalarltjoinsel); +CREATE OPERATOR = ( + PROCEDURE = isneq, + LEFTARG = ismn13, + RIGHTARG = ismn, + COMMUTATOR = =, + NEGATOR = <>, + RESTRICT = eqsel, + JOIN = eqjoinsel); +CREATE OPERATOR >= ( + PROCEDURE = isnge, + LEFTARG = ismn13, + RIGHTARG = ismn, + COMMUTATOR = <=, + NEGATOR = <, + RESTRICT = scalargtsel, + JOIN = scalargtjoinsel ); +CREATE OPERATOR > ( + PROCEDURE = isngt, + LEFTARG = ismn13, + RIGHTARG = ismn, + COMMUTATOR = <, + NEGATOR = <=, + RESTRICT = scalargtsel, + JOIN = scalargtjoinsel ); +CREATE OPERATOR <> ( + PROCEDURE = isnne, + LEFTARG = ismn13, + RIGHTARG = ismn, + COMMUTATOR = <>, + NEGATOR = =, + RESTRICT = neqsel, + JOIN = neqjoinsel); + +-- +-- ISMN operators: +-- +--------------------------------------------------- +CREATE OPERATOR < ( + PROCEDURE = isnlt, + LEFTARG = ismn, + RIGHTARG = ismn, + COMMUTATOR = >, + NEGATOR = >=, + RESTRICT = scalarltsel, + JOIN = scalarltjoinsel); +CREATE OPERATOR <= ( + PROCEDURE = isnle, + LEFTARG = ismn, + RIGHTARG = ismn, + COMMUTATOR = >=, + NEGATOR = >, + RESTRICT = scalarltsel, + JOIN = scalarltjoinsel); +CREATE OPERATOR = ( + PROCEDURE = isneq, + LEFTARG = ismn, + RIGHTARG = ismn, + COMMUTATOR = =, + NEGATOR = <>, + RESTRICT = eqsel, + JOIN = eqjoinsel, + HASHES); +CREATE OPERATOR >= ( + PROCEDURE = isnge, + LEFTARG = ismn, + RIGHTARG = ismn, + COMMUTATOR = <=, + NEGATOR = <, + RESTRICT = scalargtsel, + JOIN = scalargtjoinsel ); CREATE OPERATOR > ( PROCEDURE = isngt, - LEFTARG = ean13, - RIGHTARG = upc, + LEFTARG = ismn, + RIGHTARG = ismn, COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, - JOIN = scalargtjoinsel); + JOIN = scalargtjoinsel ); CREATE OPERATOR <> ( PROCEDURE = isnne, - LEFTARG = ean13, - RIGHTARG = upc, + LEFTARG = ismn, + RIGHTARG = ismn, COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel); --- --- ISBN13 operators: --- ---------------------------------------------------- CREATE OPERATOR < ( PROCEDURE = isnlt, - LEFTARG = isbn13, - RIGHTARG = isbn13, + LEFTARG = ismn, + RIGHTARG = ismn13, COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel); CREATE OPERATOR <= ( PROCEDURE = isnle, - LEFTARG = isbn13, - RIGHTARG = isbn13, + LEFTARG = ismn, + RIGHTARG = ismn13, COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarltsel, JOIN = scalarltjoinsel); CREATE OPERATOR = ( PROCEDURE = isneq, - LEFTARG = isbn13, - RIGHTARG = isbn13, + LEFTARG = ismn, + RIGHTARG = ismn13, COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel); CREATE OPERATOR >= ( PROCEDURE = isnge, - LEFTARG = isbn13, - RIGHTARG = isbn13, + LEFTARG = ismn, + RIGHTARG = ismn13, COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargtsel, JOIN = scalargtjoinsel ); CREATE OPERATOR > ( PROCEDURE = isngt, - LEFTARG = isbn13, - RIGHTARG = isbn13, + LEFTARG = ismn, + RIGHTARG = ismn13, COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel ); CREATE OPERATOR <> ( PROCEDURE = isnne, - LEFTARG = isbn13, - RIGHTARG = isbn13, + LEFTARG = ismn, + RIGHTARG = ismn13, COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, @@ -1218,154 +2032,151 @@ CREATE OPERATOR <> ( CREATE OPERATOR < ( PROCEDURE = isnlt, - LEFTARG = isbn13, - RIGHTARG = isbn, + LEFTARG = ismn, + RIGHTARG = ean13, COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel); CREATE OPERATOR <= ( PROCEDURE = isnle, - LEFTARG = isbn13, - RIGHTARG = isbn, + LEFTARG = ismn, + RIGHTARG = ean13, COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarltsel, JOIN = scalarltjoinsel); CREATE OPERATOR = ( PROCEDURE = isneq, - LEFTARG = isbn13, - RIGHTARG = isbn, + LEFTARG = ismn, + RIGHTARG = ean13, COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel); CREATE OPERATOR >= ( PROCEDURE = isnge, - LEFTARG = isbn13, - RIGHTARG = isbn, + LEFTARG = ismn, + RIGHTARG = ean13, COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargtsel, JOIN = scalargtjoinsel ); CREATE OPERATOR > ( PROCEDURE = isngt, - LEFTARG = isbn13, - RIGHTARG = isbn, + LEFTARG = ismn, + RIGHTARG = ean13, COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel ); CREATE OPERATOR <> ( PROCEDURE = isnne, - LEFTARG = isbn13, - RIGHTARG = isbn, + LEFTARG = ismn, + RIGHTARG = ean13, COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel); -- --- ISBN operators: +-- ISSN13 operators: -- --------------------------------------------------- CREATE OPERATOR < ( PROCEDURE = isnlt, - LEFTARG = isbn, - RIGHTARG = isbn, + LEFTARG = issn13, + RIGHTARG = issn13, COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel); CREATE OPERATOR <= ( PROCEDURE = isnle, - LEFTARG = isbn, - RIGHTARG = isbn, + LEFTARG = issn13, + RIGHTARG = issn13, COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarltsel, JOIN = scalarltjoinsel); CREATE OPERATOR = ( PROCEDURE = isneq, - LEFTARG = isbn, - RIGHTARG = isbn, + LEFTARG = issn13, + RIGHTARG = issn13, COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, - JOIN = eqjoinsel); + JOIN = eqjoinsel, + HASHES); CREATE OPERATOR >= ( PROCEDURE = isnge, - LEFTARG = isbn, - RIGHTARG = isbn, + LEFTARG = issn13, + RIGHTARG = issn13, COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargtsel, JOIN = scalargtjoinsel ); CREATE OPERATOR > ( PROCEDURE = isngt, - LEFTARG = isbn, - RIGHTARG = isbn, + LEFTARG = issn13, + RIGHTARG = issn13, COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel ); CREATE OPERATOR <> ( PROCEDURE = isnne, - LEFTARG = isbn, - RIGHTARG = isbn, + LEFTARG = issn13, + RIGHTARG = issn13, COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel); --- --- ISMN13 operators: --- ---------------------------------------------------- CREATE OPERATOR < ( PROCEDURE = isnlt, - LEFTARG = ismn13, - RIGHTARG = ismn13, + LEFTARG = issn13, + RIGHTARG = issn, COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel); CREATE OPERATOR <= ( PROCEDURE = isnle, - LEFTARG = ismn13, - RIGHTARG = ismn13, + LEFTARG = issn13, + RIGHTARG = issn, COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarltsel, JOIN = scalarltjoinsel); CREATE OPERATOR = ( PROCEDURE = isneq, - LEFTARG = ismn13, - RIGHTARG = ismn13, + LEFTARG = issn13, + RIGHTARG = issn, COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel); CREATE OPERATOR >= ( PROCEDURE = isnge, - LEFTARG = ismn13, - RIGHTARG = ismn13, + LEFTARG = issn13, + RIGHTARG = issn, COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargtsel, JOIN = scalargtjoinsel ); CREATE OPERATOR > ( PROCEDURE = isngt, - LEFTARG = ismn13, - RIGHTARG = ismn13, + LEFTARG = issn13, + RIGHTARG = issn, COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel ); CREATE OPERATOR <> ( PROCEDURE = isnne, - LEFTARG = ismn13, - RIGHTARG = ismn13, + LEFTARG = issn13, + RIGHTARG = issn, COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, @@ -1373,113 +2184,110 @@ CREATE OPERATOR <> ( CREATE OPERATOR < ( PROCEDURE = isnlt, - LEFTARG = ismn13, - RIGHTARG = ismn, + LEFTARG = issn13, + RIGHTARG = ean13, COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel); CREATE OPERATOR <= ( PROCEDURE = isnle, - LEFTARG = ismn13, - RIGHTARG = ismn, + LEFTARG = issn13, + RIGHTARG = ean13, COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarltsel, JOIN = scalarltjoinsel); CREATE OPERATOR = ( PROCEDURE = isneq, - LEFTARG = ismn13, - RIGHTARG = ismn, + LEFTARG = issn13, + RIGHTARG = ean13, COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel); CREATE OPERATOR >= ( PROCEDURE = isnge, - LEFTARG = ismn13, - RIGHTARG = ismn, + LEFTARG = issn13, + RIGHTARG = ean13, COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargtsel, JOIN = scalargtjoinsel ); CREATE OPERATOR > ( PROCEDURE = isngt, - LEFTARG = ismn13, - RIGHTARG = ismn, + LEFTARG = issn13, + RIGHTARG = ean13, COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel ); CREATE OPERATOR <> ( PROCEDURE = isnne, - LEFTARG = ismn13, - RIGHTARG = ismn, + LEFTARG = issn13, + RIGHTARG = ean13, COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel); -- --- ISMN operators: +-- ISSN operators: -- --------------------------------------------------- CREATE OPERATOR < ( PROCEDURE = isnlt, - LEFTARG = ismn, - RIGHTARG = ismn, + LEFTARG = issn, + RIGHTARG = issn, COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel); CREATE OPERATOR <= ( PROCEDURE = isnle, - LEFTARG = ismn, - RIGHTARG = ismn, + LEFTARG = issn, + RIGHTARG = issn, COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarltsel, JOIN = scalarltjoinsel); CREATE OPERATOR = ( PROCEDURE = isneq, - LEFTARG = ismn, - RIGHTARG = ismn, + LEFTARG = issn, + RIGHTARG = issn, COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, - JOIN = eqjoinsel); + JOIN = eqjoinsel, + HASHES); CREATE OPERATOR >= ( PROCEDURE = isnge, - LEFTARG = ismn, - RIGHTARG = ismn, + LEFTARG = issn, + RIGHTARG = issn, COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargtsel, JOIN = scalargtjoinsel ); CREATE OPERATOR > ( PROCEDURE = isngt, - LEFTARG = ismn, - RIGHTARG = ismn, + LEFTARG = issn, + RIGHTARG = issn, COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel ); CREATE OPERATOR <> ( PROCEDURE = isnne, - LEFTARG = ismn, - RIGHTARG = ismn, + LEFTARG = issn, + RIGHTARG = issn, COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel); --- --- ISSN13 operators: --- ---------------------------------------------------- CREATE OPERATOR < ( PROCEDURE = isnlt, - LEFTARG = issn13, + LEFTARG = issn, RIGHTARG = issn13, COMMUTATOR = >, NEGATOR = >=, @@ -1487,7 +2295,7 @@ CREATE OPERATOR < ( JOIN = scalarltjoinsel); CREATE OPERATOR <= ( PROCEDURE = isnle, - LEFTARG = issn13, + LEFTARG = issn, RIGHTARG = issn13, COMMUTATOR = >=, NEGATOR = >, @@ -1495,7 +2303,7 @@ CREATE OPERATOR <= ( JOIN = scalarltjoinsel); CREATE OPERATOR = ( PROCEDURE = isneq, - LEFTARG = issn13, + LEFTARG = issn, RIGHTARG = issn13, COMMUTATOR = =, NEGATOR = <>, @@ -1503,7 +2311,7 @@ CREATE OPERATOR = ( JOIN = eqjoinsel); CREATE OPERATOR >= ( PROCEDURE = isnge, - LEFTARG = issn13, + LEFTARG = issn, RIGHTARG = issn13, COMMUTATOR = <=, NEGATOR = <, @@ -1511,7 +2319,7 @@ CREATE OPERATOR >= ( JOIN = scalargtjoinsel ); CREATE OPERATOR > ( PROCEDURE = isngt, - LEFTARG = issn13, + LEFTARG = issn, RIGHTARG = issn13, COMMUTATOR = <, NEGATOR = <=, @@ -1519,7 +2327,7 @@ CREATE OPERATOR > ( JOIN = scalargtjoinsel ); CREATE OPERATOR <> ( PROCEDURE = isnne, - LEFTARG = issn13, + LEFTARG = issn, RIGHTARG = issn13, COMMUTATOR = <>, NEGATOR = =, @@ -1528,114 +2336,111 @@ CREATE OPERATOR <> ( CREATE OPERATOR < ( PROCEDURE = isnlt, - LEFTARG = issn13, - RIGHTARG = issn, + LEFTARG = issn, + RIGHTARG = ean13, COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel); CREATE OPERATOR <= ( PROCEDURE = isnle, - LEFTARG = issn13, - RIGHTARG = issn, + LEFTARG = issn, + RIGHTARG = ean13, COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarltsel, JOIN = scalarltjoinsel); CREATE OPERATOR = ( PROCEDURE = isneq, - LEFTARG = issn13, - RIGHTARG = issn, + LEFTARG = issn, + RIGHTARG = ean13, COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, JOIN = eqjoinsel); CREATE OPERATOR >= ( PROCEDURE = isnge, - LEFTARG = issn13, - RIGHTARG = issn, + LEFTARG = issn, + RIGHTARG = ean13, COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargtsel, JOIN = scalargtjoinsel ); CREATE OPERATOR > ( PROCEDURE = isngt, - LEFTARG = issn13, - RIGHTARG = issn, + LEFTARG = issn, + RIGHTARG = ean13, COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel ); CREATE OPERATOR <> ( PROCEDURE = isnne, - LEFTARG = issn13, - RIGHTARG = issn, + LEFTARG = issn, + RIGHTARG = ean13, COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel); -- --- ISSN operators: +-- UPC operators: -- --------------------------------------------------- CREATE OPERATOR < ( PROCEDURE = isnlt, - LEFTARG = issn, - RIGHTARG = issn, + LEFTARG = upc, + RIGHTARG = upc, COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, JOIN = scalarltjoinsel); CREATE OPERATOR <= ( PROCEDURE = isnle, - LEFTARG = issn, - RIGHTARG = issn, + LEFTARG = upc, + RIGHTARG = upc, COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarltsel, JOIN = scalarltjoinsel); CREATE OPERATOR = ( PROCEDURE = isneq, - LEFTARG = issn, - RIGHTARG = issn, + LEFTARG = upc, + RIGHTARG = upc, COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, - JOIN = eqjoinsel); + JOIN = eqjoinsel, + HASHES); CREATE OPERATOR >= ( PROCEDURE = isnge, - LEFTARG = issn, - RIGHTARG = issn, + LEFTARG = upc, + RIGHTARG = upc, COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargtsel, JOIN = scalargtjoinsel ); CREATE OPERATOR > ( PROCEDURE = isngt, - LEFTARG = issn, - RIGHTARG = issn, + LEFTARG = upc, + RIGHTARG = upc, COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, JOIN = scalargtjoinsel ); CREATE OPERATOR <> ( PROCEDURE = isnne, - LEFTARG = issn, - RIGHTARG = issn, + LEFTARG = upc, + RIGHTARG = upc, COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, JOIN = neqjoinsel); --- --- UPC operators: --- ---------------------------------------------------- CREATE OPERATOR < ( PROCEDURE = isnlt, LEFTARG = upc, - RIGHTARG = upc, + RIGHTARG = ean13, COMMUTATOR = >, NEGATOR = >=, RESTRICT = scalarltsel, @@ -1643,7 +2448,7 @@ CREATE OPERATOR < ( CREATE OPERATOR <= ( PROCEDURE = isnle, LEFTARG = upc, - RIGHTARG = upc, + RIGHTARG = ean13, COMMUTATOR = >=, NEGATOR = >, RESTRICT = scalarltsel, @@ -1651,7 +2456,7 @@ CREATE OPERATOR <= ( CREATE OPERATOR = ( PROCEDURE = isneq, LEFTARG = upc, - RIGHTARG = upc, + RIGHTARG = ean13, COMMUTATOR = =, NEGATOR = <>, RESTRICT = eqsel, @@ -1659,7 +2464,7 @@ CREATE OPERATOR = ( CREATE OPERATOR >= ( PROCEDURE = isnge, LEFTARG = upc, - RIGHTARG = upc, + RIGHTARG = ean13, COMMUTATOR = <=, NEGATOR = <, RESTRICT = scalargtsel, @@ -1667,7 +2472,7 @@ CREATE OPERATOR >= ( CREATE OPERATOR > ( PROCEDURE = isngt, LEFTARG = upc, - RIGHTARG = upc, + RIGHTARG = ean13, COMMUTATOR = <, NEGATOR = <=, RESTRICT = scalargtsel, @@ -1675,7 +2480,7 @@ CREATE OPERATOR > ( CREATE OPERATOR <> ( PROCEDURE = isnne, LEFTARG = upc, - RIGHTARG = upc, + RIGHTARG = ean13, COMMUTATOR = <>, NEGATOR = =, RESTRICT = neqsel, @@ -1808,22 +2613,22 @@ CREATE FUNCTION btisbn13cmp(isbn13, isbn) CREATE OPERATOR CLASS isbn13_ops DEFAULT FOR TYPE isbn13 USING btree AS --- OPERATOR 1 < (isbn13, ean13), + OPERATOR 1 < (isbn13, ean13), OPERATOR 1 < (isbn13, isbn), OPERATOR 1 <, --- OPERATOR 2 <= (isbn13, ean13), + OPERATOR 2 <= (isbn13, ean13), OPERATOR 2 <= (isbn13, isbn), OPERATOR 2 <=, --- OPERATOR 3 = (isbn13, ean13), + OPERATOR 3 = (isbn13, ean13), OPERATOR 3 = (isbn13, isbn), OPERATOR 3 =, --- OPERATOR 4 >= (isbn13, ean13), + OPERATOR 4 >= (isbn13, ean13), OPERATOR 4 >= (isbn13, isbn), OPERATOR 4 >=, --- OPERATOR 5 > (isbn13, ean13), + OPERATOR 5 > (isbn13, ean13), OPERATOR 5 > (isbn13, isbn), OPERATOR 5 >, --- FUNCTION 1 btisbn13cmp(isbn13, ean13), + FUNCTION 1 btisbn13cmp(isbn13, ean13), FUNCTION 1 btisbn13cmp(isbn13, isbn), FUNCTION 1 btisbn13cmp(isbn13, isbn13); @@ -1858,23 +2663,23 @@ CREATE FUNCTION btisbncmp(isbn, isbn13) CREATE OPERATOR CLASS isbn_ops DEFAULT FOR TYPE isbn USING btree AS --- OPERATOR 1 < (isbn, ean13), --- OPERATOR 1 < (isbn, isbn13), + OPERATOR 1 < (isbn, ean13), + OPERATOR 1 < (isbn, isbn13), OPERATOR 1 <, --- OPERATOR 2 <= (isbn, ean13), --- OPERATOR 2 <= (isbn, isbn13), + OPERATOR 2 <= (isbn, ean13), + OPERATOR 2 <= (isbn, isbn13), OPERATOR 2 <=, --- OPERATOR 3 = (isbn, ean13), --- OPERATOR 3 = (isbn, isbn13), + OPERATOR 3 = (isbn, ean13), + OPERATOR 3 = (isbn, isbn13), OPERATOR 3 =, --- OPERATOR 4 >= (isbn, ean13), --- OPERATOR 4 >= (isbn, isbn13), + OPERATOR 4 >= (isbn, ean13), + OPERATOR 4 >= (isbn, isbn13), OPERATOR 4 >=, --- OPERATOR 5 > (isbn, ean13), --- OPERATOR 5 > (isbn, isbn13), + OPERATOR 5 > (isbn, ean13), + OPERATOR 5 > (isbn, isbn13), OPERATOR 5 >, --- FUNCTION 1 btisbncmp(isbn, ean13), --- FUNCTION 1 btisbncmp(isbn, isbn13), + FUNCTION 1 btisbncmp(isbn, ean13), + FUNCTION 1 btisbncmp(isbn, isbn13), FUNCTION 1 btisbncmp(isbn, isbn); CREATE FUNCTION hashisbn(isbn) @@ -1908,22 +2713,22 @@ CREATE FUNCTION btismn13cmp(ismn13, ismn) CREATE OPERATOR CLASS ismn13_ops DEFAULT FOR TYPE ismn13 USING btree AS --- OPERATOR 1 < (ismn13, ean13), + OPERATOR 1 < (ismn13, ean13), OPERATOR 1 < (ismn13, ismn), OPERATOR 1 <, --- OPERATOR 2 <= (ismn13, ean13), + OPERATOR 2 <= (ismn13, ean13), OPERATOR 2 <= (ismn13, ismn), OPERATOR 2 <=, --- OPERATOR 3 = (ismn13, ean13), + OPERATOR 3 = (ismn13, ean13), OPERATOR 3 = (ismn13, ismn), OPERATOR 3 =, --- OPERATOR 4 >= (ismn13, ean13), + OPERATOR 4 >= (ismn13, ean13), OPERATOR 4 >= (ismn13, ismn), OPERATOR 4 >=, --- OPERATOR 5 > (ismn13, ean13), + OPERATOR 5 > (ismn13, ean13), OPERATOR 5 > (ismn13, ismn), OPERATOR 5 >, --- FUNCTION 1 btismn13cmp(ismn13, ean13), + FUNCTION 1 btismn13cmp(ismn13, ean13), FUNCTION 1 btismn13cmp(ismn13, ismn), FUNCTION 1 btismn13cmp(ismn13, ismn13); @@ -1958,23 +2763,23 @@ CREATE FUNCTION btismncmp(ismn, ismn13) CREATE OPERATOR CLASS ismn_ops DEFAULT FOR TYPE ismn USING btree AS --- OPERATOR 1 < (ismn, ean13), --- OPERATOR 1 < (ismn, ismn13), + OPERATOR 1 < (ismn, ean13), + OPERATOR 1 < (ismn, ismn13), OPERATOR 1 <, --- OPERATOR 2 <= (ismn, ean13), --- OPERATOR 2 <= (ismn, ismn13), + OPERATOR 2 <= (ismn, ean13), + OPERATOR 2 <= (ismn, ismn13), OPERATOR 2 <=, --- OPERATOR 3 = (ismn, ean13), --- OPERATOR 3 = (ismn, ismn13), + OPERATOR 3 = (ismn, ean13), + OPERATOR 3 = (ismn, ismn13), OPERATOR 3 =, --- OPERATOR 4 >= (ismn, ean13), --- OPERATOR 4 >= (ismn, ismn13), + OPERATOR 4 >= (ismn, ean13), + OPERATOR 4 >= (ismn, ismn13), OPERATOR 4 >=, --- OPERATOR 5 > (ismn, ean13), --- OPERATOR 5 > (ismn, ismn13), + OPERATOR 5 > (ismn, ean13), + OPERATOR 5 > (ismn, ismn13), OPERATOR 5 >, --- FUNCTION 1 btismncmp(ismn, ean13), --- FUNCTION 1 btismncmp(ismn, ismn13), + FUNCTION 1 btismncmp(ismn, ean13), + FUNCTION 1 btismncmp(ismn, ismn13), FUNCTION 1 btismncmp(ismn, ismn); CREATE FUNCTION hashismn(ismn) @@ -2008,22 +2813,22 @@ CREATE FUNCTION btissn13cmp(issn13, issn) CREATE OPERATOR CLASS issn13_ops DEFAULT FOR TYPE issn13 USING btree AS --- OPERATOR 1 < (issn13, ean13), + OPERATOR 1 < (issn13, ean13), OPERATOR 1 < (issn13, issn), OPERATOR 1 <, --- OPERATOR 2 <= (issn13, ean13), + OPERATOR 2 <= (issn13, ean13), OPERATOR 2 <= (issn13, issn), OPERATOR 2 <=, --- OPERATOR 3 = (issn13, ean13), + OPERATOR 3 = (issn13, ean13), OPERATOR 3 = (issn13, issn), OPERATOR 3 =, --- OPERATOR 4 >= (issn13, ean13), + OPERATOR 4 >= (issn13, ean13), OPERATOR 4 >= (issn13, issn), OPERATOR 4 >=, --- OPERATOR 5 > (issn13, ean13), + OPERATOR 5 > (issn13, ean13), OPERATOR 5 > (issn13, issn), OPERATOR 5 >, --- FUNCTION 1 btissn13cmp(issn13, ean13), + FUNCTION 1 btissn13cmp(issn13, ean13), FUNCTION 1 btissn13cmp(issn13, issn), FUNCTION 1 btissn13cmp(issn13, issn13); @@ -2058,23 +2863,23 @@ CREATE FUNCTION btissncmp(issn, issn13) CREATE OPERATOR CLASS issn_ops DEFAULT FOR TYPE issn USING btree AS --- OPERATOR 1 < (issn, ean13), --- OPERATOR 1 < (issn, issn13), + OPERATOR 1 < (issn, ean13), + OPERATOR 1 < (issn, issn13), OPERATOR 1 <, --- OPERATOR 2 <= (issn, ean13), --- OPERATOR 2 <= (issn, issn13), + OPERATOR 2 <= (issn, ean13), + OPERATOR 2 <= (issn, issn13), OPERATOR 2 <=, --- OPERATOR 3 = (issn, ean13), --- OPERATOR 3 = (issn, issn13), + OPERATOR 3 = (issn, ean13), + OPERATOR 3 = (issn, issn13), OPERATOR 3 =, --- OPERATOR 4 >= (issn, ean13), --- OPERATOR 4 >= (issn, issn13), + OPERATOR 4 >= (issn, ean13), + OPERATOR 4 >= (issn, issn13), OPERATOR 4 >=, --- OPERATOR 5 > (issn, ean13), --- OPERATOR 5 > (issn, issn13), + OPERATOR 5 > (issn, ean13), + OPERATOR 5 > (issn, issn13), OPERATOR 5 >, --- FUNCTION 1 btissncmp(issn, ean13), --- FUNCTION 1 btissncmp(issn, issn13), + FUNCTION 1 btissncmp(issn, ean13), + FUNCTION 1 btissncmp(issn, issn13), FUNCTION 1 btissncmp(issn, issn); CREATE FUNCTION hashissn(issn) @@ -2103,17 +2908,17 @@ CREATE FUNCTION btupccmp(upc, ean13) CREATE OPERATOR CLASS upc_ops DEFAULT FOR TYPE upc USING btree AS --- OPERATOR 1 < (upc, ean13), + OPERATOR 1 < (upc, ean13), OPERATOR 1 <, --- OPERATOR 2 <= (upc, ean13), + OPERATOR 2 <= (upc, ean13), OPERATOR 2 <=, --- OPERATOR 3 = (upc, ean13), + OPERATOR 3 = (upc, ean13), OPERATOR 3 =, --- OPERATOR 4 >= (upc, ean13), + OPERATOR 4 >= (upc, ean13), OPERATOR 4 >=, --- OPERATOR 5 > (upc, ean13), + OPERATOR 5 > (upc, ean13), OPERATOR 5 >, --- FUNCTION 1 btupccmp(upc, ean13), + FUNCTION 1 btupccmp(upc, ean13), FUNCTION 1 btupccmp(upc, upc); CREATE FUNCTION hashupc(upc) -- GitLab