diff options
Diffstat (limited to 'contrib/array/array_iterator.sql')
-rw-r--r-- | contrib/array/array_iterator.sql | 137 |
1 files changed, 137 insertions, 0 deletions
diff --git a/contrib/array/array_iterator.sql b/contrib/array/array_iterator.sql new file mode 100644 index 00000000000..7a3356266c1 --- /dev/null +++ b/contrib/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 */ + |