Re: Out parameters handling

Поиск
Список
Период
Сортировка
От Pavel Stehule
Тема Re: Out parameters handling
Дата
Msg-id 162867790903072209o4ff3f80ie974beb96e709fa2@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Out parameters handling  (Dimitri Fontaine <dfontaine@hi-media.com>)
Список 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 по дате отправления:

Предыдущее
От: Robert Haas
Дата:
Сообщение: Re: status of remaining patches
Следующее
От: Gregory Stark
Дата:
Сообщение: Potential problem with HOT and indexes?