From 9848d3655d44aa2e58d28fe9f93a94b2934eedc8 Mon Sep 17 00:00:00 2001
From: "Marc G. Fournier" <scrappy@hub.org>
Date: Sun, 18 Aug 1996 22:14:33 +0000
Subject: Support Docs & Contrib

---
 contrib/array/array_iterator.sql | 137 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 137 insertions(+)
 create mode 100644 contrib/array/array_iterator.sql

(limited to 'contrib/array/array_iterator.sql')

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 */
+
-- 
cgit v1.2.3

