aboutsummaryrefslogtreecommitdiff
path: root/contrib/array/array_iterator.doc
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/array/array_iterator.doc')
-rw-r--r--contrib/array/array_iterator.doc26
1 files changed, 26 insertions, 0 deletions
diff --git a/contrib/array/array_iterator.doc b/contrib/array/array_iterator.doc
new file mode 100644
index 00000000000..01c1b2195cf
--- /dev/null
+++ b/contrib/array/array_iterator.doc
@@ -0,0 +1,26 @@
+From: Massimo Dal Zotto <dz@cs.unitn.it>
+Date: Mon, 6 May 1996 01:03:37 +0200 (MET DST)
+Subject: [PG95]: new operators for arrays
+
+- -----BEGIN PGP SIGNED MESSAGE-----
+
+Hi,
+
+I have written an extension to Postgres95 which allows to use qualification
+clauses based on the values of single elements of arrays.
+For example I can now select rows having some or all element of an array
+attribute equal to a given value or matching a regular expression:
+
+select * from t where t.foo *= 'bar';
+select * from t where t.foo **~ '^ba[rz]';
+
+The scheme is quite general, each operator which operates on a base type can
+be iterated over the elements of an array. It seem to work well but defining
+each new operators requires writing a different C function. Furthermore in
+each function there are two hardcoded OIDs which reference a base type and
+a procedure. Not very portable. Can anyone suggest a better and more portable
+way to do it ? Do you think this could be a useful feature for next release ?
+Here is my code, it can be compiled and loaded as a dynamic module without
+need to recompile the backend. I have defined only the few operators I needed,
+the list can be extended. Feddback is welcome.
+