Re: improvise callbacks in plpgsql - Mailing list pgsql-performance

From Merlin Moncure
Subject Re: improvise callbacks in plpgsql
Date
Msg-id 6EE64EF3AB31D5448D0007DD34EEB3417DD767@Herge.rcsinc.local
Whole thread Raw
In response to improvise callbacks in plpgsql  ("Merlin Moncure" <merlin.moncure@rcsonline.com>)
Responses Re: improvise callbacks in plpgsql
List 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

pgsql-performance by date:

Previous
From: Tom Lane
Date:
Subject: Re: improvise callbacks in plpgsql
Next
From: "Jim C. Nasby"
Date:
Subject: Re: improvise callbacks in plpgsql