> The body of callit() need be little more than OidFunctionCall1() > plus whatever error checking and security checking you want to > include. esp=# create table test(f text); CREATE TABLE esp=# create function test() returns void as $$ begin insert into test values ('called'); end; $$ language plpgsql; esp=# create or replace function test2() returns void as esp-# $$ esp$# declare esp$# r record; esp$# begin esp$# select into r 'abc'; esp$# perform callit('test()'::regprocedure, r); esp$# end; esp$# esp$# $$ language plpgsql; CREATE FUNCTION esp=# select test2(); esp=# select * from test; f -------- called (1 row) one word... w00t Merlin