Re: BUG #18574: procedure cache does not invalidate when output parameter type mismatch

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: hysong0101@163.com
Cc: pgsql-bugs@lists.postgresql.org
Date: 2024-08-07T16:55:47Z
Lists: pgsql-bugs
PG Bug reporting form <noreply@postgresql.org> writes:
> The reproduced script is as above. There is one out parameter in the two
> procedures. In the initial state, we make their types do not match and call
> the fisrt procedure which internally calls the other procedure. Then we will
> get "procedure parameter "r1" is an output parameter but corresponding
> argument is not writable". After this, we drop procedure + create procedure
> for p2. In this time, we re-call the fisrt procedure,we will get "cache
> lookup failed for function". 

Fixed, thanks for the report!

			regards, tom lane



Commits

  1. Fix edge case in plpgsql's make_callstmt_target().