>>>>> "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