Hi 2014-09-16 8:38 GMT+02:00 Kalyanov Dmitry <kalyanov.dmi...@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 >