Re: BUG #16547: ECPG can't CALL the procedure which has INOUT parameter

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: egashira(dot)yusuke(at)jp(dot)fujitsu(dot)com, pgsql-bugs(at)lists(dot)postgresql(dot)org
Cc: Michael Meskes <meskes(at)postgresql(dot)org>
Subject: Re: BUG #16547: ECPG can't CALL the procedure which has INOUT parameter
Date: 2020-08-22 00:59:54
Message-ID: 20200822005954.GP13363@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Tue, Jul 21, 2020 at 07:44:54AM +0000, PG Bug reporting form wrote:
> The following bug has been logged on the website:
>
> Bug reference: 16547
> Logged by: yusuke egashira
> Email address: egashira(dot)yusuke(at)jp(dot)fujitsu(dot)com
> PostgreSQL version: 11.8
> Operating system: Red Hat Enterprise Linux Server release 6.10
> Description:
>
> I created the procedure with INOUT parameter as :
> CREATE OR REPLACE PROCEDURE inout_proc(a in int, b inout int)
> LANGUAGE plpgsql AS $$
> BEGIN
> b = a + b;
> RETURN;
> END;
> $$;
>
> If I called it in ECPG by "EXEC SQL CALL inout_proc(1,2);", "SQL error: too
> few arguments on line xx" is caused.
>
> On the other hand, if the procedure don't have INOUT parameter (IN only),
> "EXEC SQL CALL inout_proc(1,2);" statement succeeded.
>
> This error seems to occur because ECPG doesn't expect the value to be
> returned by CALL statement.
> Is this a bug?
> Or, is the current version limited to calling procedures with INOUT
> parameters from ECPG?
>
> I found this behavior in PostgreSQL 11.8 and 12.3.
>
>
> Also, I found the patch[1] introducing "INTO" clause in CALL of ECPG.
> However, the patch changes the EXC SQL CALL statement to always require INTO
> clause.
>
> [1]
> https://www.postgresql.org/message-id/CAE9k0P%3DGQFjfy9jHCPDw4Eh_xE%3DNw%3D9y4f-CuTZp1L%2B6vEHwFg%40mail.gmail.com

This looks like something we should either fix or document. Michael
Meskes, do you have an opinion?

--
Bruce Momjian <bruce(at)momjian(dot)us> https://momjian.us
EnterpriseDB https://enterprisedb.com

The usefulness of a cup is in its emptiness, Bruce Lee

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Michael Paquier 2020-08-22 01:41:21 Re: BUG #16272: Index expression can refer to wrong attributes if index is created via CREATE TABLE LIKE
Previous Message Peter Geoghegan 2020-08-21 22:49:03 Re: BUG #16586: deduplicate_items=true can be configured for numeric indexes