From: | Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com> |
---|---|
To: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
Cc: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: INOUT parameters in procedures |
Date: | 2018-03-13 13:14:10 |
Message-ID: | 684fedbe-41ec-af21-4c86-5edea658570d@2ndquadrant.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 3/8/18 02:25, Pavel Stehule wrote:
> It looks like some error in this concept. The rules for enabling
> overwriting procedures should modified, so this collision should not be
> done.
>
> When I using procedure from PL/pgSQL, then it is clear, so I place on
> *OUT position variables. But when I call procedure from top, then I'll
> pass fake parameters to get some result.
What we'll probably want to do here is to make the OUT parameters part
of the identity signature of procedures, unlike in functions. This
should be a straightforward change, but it will require some legwork in
many parts of the code.
> if (argmodes && (argmodes[i] == PROARGMODE_INOUT ||
> argmodes[i] == PROARGMODE_OUT))
> + {
> + Param *param;
>
> Because PROARGMODE_OUT are disallowed, then this check is little bit
> messy. Please, add some comment.
Fixed.
I discovered another issue, in LANGUAGE SQL procedures. Currently, if
you make a CALL with an INOUT parameter in an SQL procedure, the output
is thrown away (unless it's the last command). I would like to keep
open the option of assigning the results by name, like we do in
PL/pgSQL. So in this patch I have made a change to prohibit calling
procedures with INOUT parameters in LANGUAGE SQL routines (see
check_sql_fn_statements()). What do you think?
--
Peter Eisentraut http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Attachment | Content-Type | Size |
---|---|---|
v4-0001-Support-INOUT-parameters-in-procedures.patch | text/plain | 40.5 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Amit Kapila | 2018-03-13 13:57:30 | Re: [HACKERS] GSoC 2017: weekly progress reports (week 4) and patch for hash index |
Previous Message | Oleg Bartunov | 2018-03-13 13:08:01 | Re: SQL/JSON: functions |