Re: repeated procedure call error
Pavel Stehule <pavel.stehule@gmail.com>
From: Pavel Stehule <pavel.stehule@gmail.com>
To: PostgreSQL Hackers <pgsql-hackers@postgresql.org>,
Tom Lane <tgl@sss.pgh.pa.us>
Date: 2018-11-09T19:07:58Z
Lists: pgsql-hackers
pá 9. 11. 2018 v 20:05 odesílatel Pavel Stehule <pavel.stehule@gmail.com> napsal: > Hi > > There are some broken. I tried to fix plpgsql_check regression tests and I > found new error. > > Looks it is fresh regression. > > CREATE OR REPLACE PROCEDURE public.proc(a integer, INOUT b integer, c > integer) > LANGUAGE plpgsql > AS $procedure$ > begin > b := a + c + c; > end; > $procedure$ > > CREATE OR REPLACE PROCEDURE public.testproc() > LANGUAGE plpgsql > AS $procedure$ > declare r int; > begin > call proc(10, r + 10, 20); > end; > $procedure$ > > postgres=# call testproc(); > ERROR: procedure parameter "b" is an output parameter but corresponding > argument is not writable > CONTEXT: PL/pgSQL function testproc() line 4 at CALL > > first error message is correct, > > Second call fails with unexpected error > > ERROR: SPI_execute_plan_with_paramlist failed executing query "CALL > proc(10, r + 10, 20)": SPI_ERROR_ARGUMENT > CONTEXT: PL/pgSQL function testproc() line 4 at CALL > Maybe plan cache is broken due exception? > regards > > Pavel > > >
Commits
-
Fix error-cleanup mistakes in exec_stmt_call().
- f26c06a4046b 12.0 landed
- 8e02ee788fb5 11.2 landed