Re: Anonymous code block with parameters

Поиск
Список
Период
Сортировка
От Pavel Stehule
Тема Re: Anonymous code block with parameters
Дата
Msg-id CAFj8pRBx=UVzLH3JFRAVbLOEkip4gQRevY8ryRe2PA0+f=nbrA@mail.gmail.com
обсуждение исходный текст
Ответ на Anonymous code block with parameters  (Kalyanov Dmitry <kalyanov.dmitry@gmail.com>)
Список pgsql-hackers
Hi

2014-09-16 8:38 GMT+02:00 Kalyanov Dmitry <kalyanov.dmitry@gmail.com>:
I'd like to propose support for IN and OUT parameters in 'DO' blocks.

Currently, anonymous code blocks (DO statements) can not receive or
return parameters.

I suggest:

1) Add a new clause to DO statement for specifying names, types,
directions and values of parameters:

DO <code> [LANGUAGE <lang>] [USING (<arguments>)]

where <arguments> has the same syntax as in
'CREATE FUNCTION <name> (<arguments>)'.

Example:

do $$ begin z := x || y; end; $$
language plpgsql
using
(
  x text = '1',
  in out y int4 = 123,
  out z text
);

2) Values for IN and IN OUT parameters are specified using syntax for
default values of function arguments.

3) If DO statement has at least one of OUT or IN OUT parameters then it
returns one tuple containing values of OUT and IN OUT parameters.

Do you think that this feature would be useful? I have a
proof-of-concept patch in progress that I intend to publish soon.


shortly

+1 parametrization of DO statement

-1 OUT parameters for DO - when you need OUTPUT, then use a function. A rules used for output from something are messy now, and I strongly against to do this area more complex. Instead we can define temporary functions or we can define real server side session variables.

Pavel


 


--
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 по дате отправления:

Предыдущее
От: Heikki Linnakangas
Дата:
Сообщение: Re: Triconsistent catalog declaration
Следующее
От: Alexander Korotkov
Дата:
Сообщение: Re: Collation-aware comparisons in GIN opclasses