Re: Out parameters handling

From: Asko Oja <ascoja(at)gmail(dot)com>
To: Dimitri Fontaine <dfontaine(at)hi-media(dot)com>
Cc: Josh Berkus <josh(at)agliodbs(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Out parameters handling
Date: 2009-03-08 18:50:01
Message-ID: ecd779860903081150w44a28d96x2b64f75cc8bb0159@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sat, Mar 7, 2009 at 9:29 PM, Dimitri Fontaine <dfontaine(at)hi-media(dot)com>wrote:

> In fact, maybe a new option to set the OUT parameters prefix to use from
> within the function body would do?
>
> Le 7 mars 09 à 19:56, Dimitri Fontaine a écrit :
>
>> CREATE OR REPLACE FUNCTION test_out
>> (
>> IN a integer,
>> IN b integer,
>> OUT s integer
>> )
>> RETURNS setof integer
>>
>
> SET out_prefix TO 'v_'
>
> LANGUAGE PLPGSQL
>> AS $f$
>>
>
That's what we also would like to have. In addition it should also make out
parameters unusable without that prefix. Then we could make it our coding
standard and feel relatively safe again.

>
>> Those two following lines would be deprecated:
>
>
> DECLARE
>> v_s ALIAS FOR $3;
>>
>
>
> BEGIN
>> FOR v_s IN SELECT generate_series(a, b)
>> LOOP
>> v_s := v_s * v_s;
>> RETURN NEXT;
>> END LOOP;
>> RETURN;
>> END;
>> $f$;
>>
>> CREATE FUNCTION
>> dim=# SELECT * FROM test_out(2, 4);
>> s
>> ----
>> 4
>> 9
>> 16
>> (3 rows)
>>
>
> --
> dim
>
>

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Ryan Bradetich 2009-03-08 19:04:17 Re: Out parameters handling
Previous Message Gregory Stark 2009-03-08 17:45:53 Re: Potential problem with HOT and indexes?