Re: Out parameters handling - Mailing list pgsql-hackers

From Pavel Stehule
Subject Re: Out parameters handling
Date
Msg-id 162867790903072209o4ff3f80ie974beb96e709fa2@mail.gmail.com
Whole thread Raw
In response to Re: Out parameters handling  (Dimitri Fontaine <dfontaine@hi-media.com>)
List pgsql-hackers
2009/3/7 Dimitri Fontaine <dfontaine@hi-media.com>:
> 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_'
-1

this is out of PL languages. There is not well enough solved access to
table out variables.  Actually these variables are same as out
variables, but internally we should distinct between. For example:
PL/pgPSM don't declare it as variables - so there isn't possible any
conflict.

fragment of plpgpsm code

create or replace function test_out(a int, b int)
returns table (s int) as $$ return table(select s from some)
$$ language plpgpsm

is correct.

regards
Pavel Stehule



>> LANGUAGE PLPGSQL
>> AS $f$
>
> 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
>
>
> --
> Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-hackers
>


pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: status of remaining patches
Next
From: Gregory Stark
Date:
Subject: Potential problem with HOT and indexes?