aboutsummaryrefslogtreecommitdiff
path: root/contrib/array/array_iterator.sql
diff options
context:
space:
mode:
authorMarc G. Fournier <scrappy@hub.org>1996-08-18 22:14:33 +0000
committerMarc G. Fournier <scrappy@hub.org>1996-08-18 22:14:33 +0000
commit9848d3655d44aa2e58d28fe9f93a94b2934eedc8 (patch)
tree059111c2156111b083ea668b84bc8b3481676fca /contrib/array/array_iterator.sql
parent1960a3b96573ad1ec73cd50255edde29cc80df88 (diff)
downloadpostgresql-9848d3655d44aa2e58d28fe9f93a94b2934eedc8.tar.gz
postgresql-9848d3655d44aa2e58d28fe9f93a94b2934eedc8.zip
Support Docs & Contrib
Diffstat (limited to 'contrib/array/array_iterator.sql')
-rw-r--r--contrib/array/array_iterator.sql137
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 */
+