Re: Support prepared statement invalidation when result types change

From: Jelte Fennema <me(at)jeltef(dot)nl>
To: Konstantin Knizhnik <knizhnik(at)garret(dot)ru>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Support prepared statement invalidation when result types change
Date: 2023-08-28 16:47:59
Message-ID: CAGECzQSNeE5O4jbcyPNU0TVuEHhANQBp0q3iWOxAWjNVi2qnAw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, 28 Aug 2023 at 15:05, Konstantin Knizhnik <knizhnik(at)garret(dot)ru> wrote:
> The following assignment of format is not corrects:
>
> It has to be copied as below:
>
> portal->formats = (int16 *)
> MemoryContextAlloc(portal->portalContext,
> natts * sizeof(int16));
> memcpy(portal->formats, formats, natts * sizeof(int16));

I attached a new version of the patch where I now did this. But I also
moved the code around quite a bit, since all this tupDesc/format
delaying is only needed for exec_simple_query. The original changes
actually broke some prepared statements that were using protocol level
Bind messages.

Attachment Content-Type Size
v2-0001-Support-prepared-statement-invalidation-when-resu.patch application/octet-stream 7.3 KB
v2-0002-Completely-remove-fixed_result-from-CachedPlanSou.patch application/octet-stream 7.1 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Geoghegan 2023-08-28 16:48:13 Re: Eager page freeze criteria clarification
Previous Message Robert Haas 2023-08-28 16:26:01 Re: Eager page freeze criteria clarification