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

From Jim C. Nasby
Subject Re: improvise callbacks in plpgsql
Date
Msg-id 20051101230440.GU20349@pervasive.com
Whole thread Raw
In response to Re: improvise callbacks in plpgsql  ("Merlin Moncure" <merlin.moncure@rcsonline.com>)
List pgsql-performance
Would you be willing to write up an example of this? We often get asked
about support for WITH, so I bet there's other people who would be very
interested in what you've got.

On Tue, Nov 01, 2005 at 05:13:48PM -0500, Merlin Moncure wrote:
> > 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
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: don't forget to increase your free space map settings
>

--
Jim C. Nasby, Sr. Engineering Consultant      jnasby@pervasive.com
Pervasive Software      http://pervasive.com    work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf       cell: 512-569-9461

pgsql-performance by date:

Previous
From: "Merlin Moncure"
Date:
Subject: Re: improvise callbacks in plpgsql
Next
From: Geoffrey
Date:
Subject: Re: solutions for new Postgresql application testing