-- array_iterator.sql -- -- -- SQL code to define the array iterator functions and operators. -- -- Copyright (c) 1998, Massimo Dal Zotto -- -- This file is distributed under the GNU General Public License -- either version 2, or (at your option) any later version. -- Define the array functions *=, **=, *~ and **~ for type _text -- create function array_texteq(_text, text) returns bool as 'MODULE_PATHNAME' language 'c'; create function array_all_texteq(_text, text) returns bool as 'MODULE_PATHNAME' language 'c'; create function array_textregexeq(_text, text) returns bool as 'MODULE_PATHNAME' language 'c'; create function array_all_textregexeq(_text, text) returns bool as 'MODULE_PATHNAME' language 'c'; create operator *= ( leftarg=_text, rightarg=text, procedure=array_texteq); create operator **= ( leftarg=_text, rightarg=text, procedure=array_all_texteq); create operator *~ ( leftarg=_text, rightarg=text, procedure=array_textregexeq); create operator **~ ( leftarg=_text, rightarg=text, procedure=array_all_textregexeq); -- Define the array functions *=, **=, *> and **> for type _int4 -- create function array_int4eq(_int4, int4) returns bool as 'MODULE_PATHNAME' language 'c'; create function array_all_int4eq(_int4, int4) returns bool as 'MODULE_PATHNAME' language 'c'; create function array_int4ne(_int4, int4) returns bool as 'MODULE_PATHNAME' language 'c'; create function array_all_int4ne(_int4, int4) returns bool as 'MODULE_PATHNAME' language 'c'; create function array_int4gt(_int4, int4) returns bool as 'MODULE_PATHNAME' language 'c'; create function array_all_int4gt(_int4, int4) returns bool as 'MODULE_PATHNAME' language 'c'; create function array_int4ge(_int4, int4) returns bool as 'MODULE_PATHNAME' language 'c'; create function array_all_int4ge(_int4, int4) returns bool as 'MODULE_PATHNAME' language 'c'; create function array_int4lt(_int4, int4) returns bool as 'MODULE_PATHNAME' language 'c'; create function array_all_int4lt(_int4, int4) returns bool as 'MODULE_PATHNAME' language 'c'; create function array_int4le(_int4, int4) returns bool as 'MODULE_PATHNAME' language 'c'; create function array_all_int4le(_int4, int4) returns bool as 'MODULE_PATHNAME' language 'c'; -- Define the operators corresponding to the above functions -- create operator *= ( leftarg=_int4, rightarg=int4, procedure=array_int4eq); create operator **= ( leftarg=_int4, rightarg=int4, procedure=array_all_int4eq); create operator *<> ( leftarg=_int4, rightarg=int4, procedure=array_int4ne); create operator **<> ( leftarg=_int4, rightarg=int4, procedure=array_all_int4ne); create operator *> ( leftarg=_int4, rightarg=int4, procedure=array_int4gt); create operator **> ( leftarg=_int4, rightarg=int4, procedure=array_all_int4gt); create operator *>= ( leftarg=_int4, rightarg=int4, procedure=array_int4ge); create operator **>= ( leftarg=_int4, rightarg=int4, procedure=array_all_int4ge); create operator *< ( leftarg=_int4, rightarg=int4, procedure=array_int4lt); create operator **< ( leftarg=_int4, rightarg=int4, procedure=array_all_int4lt); create operator *<= ( leftarg=_int4, rightarg=int4, procedure=array_int4le); create operator **<= ( leftarg=_int4, rightarg=int4, procedure=array_all_int4le); -- end of file