>>>>> "M" == Molitor, Stephen L <Stephen.L.Molitor / erac.com> writes:

M> I *might* have a fix.  Changing plruby.c lines 892 - 898 from this:

 You are right, but write it like this

svg% diff -u src/plruby.c~ src/plruby.c
--- src/plruby.c~       2004-11-22 17:56:05.000000000 +0100
+++ src/plruby.c        2005-03-06 11:19:34.000000000 +0100
@@ -889,13 +889,7 @@
                          format_type_be(arg_type[i]));
             }
             prodesc->arg_elem[i] = (Oid) (typeStruct->typelem);
-            if (typeStruct->typrelid != InvalidOid) {
-                prodesc->arg_is_rel[i] = 1;
-                ReleaseSysCache(typeTup);
-            }
-            else {
-                prodesc->arg_is_rel[i] = 0;
-            }
+            prodesc->arg_is_rel[i] = (typeStruct->typrelid != InvalidOid);
 
             PLRUBY_BEGIN(1);
             prodesc->arg_is_array[i] = 0;
svg% 

 Thanks,


Guy Decoux