From 668aa24fc495a142fdf2ac12b32d849a04b21dc0 Mon Sep 17 00:00:00 2001 From: "Marc G. Fournier" Date: Tue, 23 Jul 1996 03:13:58 +0000 Subject: More merge's from Dr. George's sourec tree --- src/extend/array/array_iterator.sql | 137 ++++++++++++++++++++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 src/extend/array/array_iterator.sql (limited to 'src/extend/array/array_iterator.sql') diff --git a/src/extend/array/array_iterator.sql b/src/extend/array/array_iterator.sql new file mode 100644 index 00000000000..7a3356266c1 --- /dev/null +++ b/src/extend/array/array_iterator.sql @@ -0,0 +1,137 @@ +/* + * SQL code + +- - -- load the new functions +- - -- +load '/home/dz/lib/postgres/array_iterator.so'; + +- - -- define the array operators *=, **=, *~ and **~ for type _text +- - -- +create function array_texteq(_text, text) + returns bool + as '/home/dz/lib/postgres/array_iterator.so' + language 'c'; + +create function array_all_texteq(_text, text) + returns bool + as '/home/dz/lib/postgres/array_iterator.so' + language 'c'; + +create function array_textregexeq(_text, text) + returns bool + as '/home/dz/lib/postgres/array_iterator.so' + language 'c'; + +create function array_all_textregexeq(_text, text) + returns bool + as '/home/dz/lib/postgres/array_iterator.so' + 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 operators *=, **=, *~ and **~ for type _char16 +- - -- +create function array_char16eq(_char16, char16) + returns bool + as '/home/dz/lib/postgres/array_iterator.so' + language 'c'; + +create function array_all_char16eq(_char16, char16) + returns bool + as '/home/dz/lib/postgres/array_iterator.so' + language 'c'; + +create function array_char16regexeq(_char16, text) + returns bool + as '/home/dz/lib/postgres/array_iterator.so' + language 'c'; + +create function array_all_char16regexeq(_char16, text) + returns bool + as '/home/dz/lib/postgres/array_iterator.so' + language 'c'; + +create operator *= ( + leftarg=_char16, + rightarg=char16, + procedure=array_char16eq); + +create operator **= ( + leftarg=_char16, + rightarg=char16, + procedure=array_all_char16eq); + +create operator *~ ( + leftarg=_char16, + rightarg=text, + procedure=array_char16regexeq); + +create operator **~ ( + leftarg=_char16, + rightarg=text, + procedure=array_all_char16regexeq); + +- - -- define the array operators *=, **=, *> and **> for type _int4 +- - -- +create function array_int4eq(_int4, int4) + returns bool + as '/home/dz/lib/postgres/array_iterator.so' + language 'c'; + +create function array_all_int4eq(_int4, int4) + returns bool + as '/home/dz/lib/postgres/array_iterator.so' + language 'c'; + +create function array_int4gt(_int4, int4) + returns bool + as '/home/dz/lib/postgres/array_iterator.so' + language 'c'; + +create function array_all_int4gt(_int4, int4) + returns bool + as '/home/dz/lib/postgres/array_iterator.so' + language 'c'; + +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_int4gt); + +create operator **> ( + leftarg=_int4, + rightarg=int4, + procedure=array_all_int4gt); + +*/ + +/* end of file */ + -- cgit v1.2.3