Re: improvise callbacks in plpgsql

From: "Merlin Moncure" <merlin(dot)moncure(at)rcsonline(dot)com>
To: "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: <pgsql-performance(at)postgresql(dot)org>
Subject: Re: improvise callbacks in plpgsql
Date: 2005-11-01 22:13:48
Message-ID: 6EE64EF3AB31D5448D0007DD34EEB3417DD767@Herge.rcsinc.local
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

> 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

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Jim C. Nasby 2005-11-01 23:04:40 Re: improvise callbacks in plpgsql
Previous Message Tom Lane 2005-11-01 21:29:22 Re: improvise callbacks in plpgsql