Re: ERROR: type of parameter 1 (fruit2) does not match that when preparing the plan (fruit1)

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
Cc: d <dchuck(at)yurfish(dot)com>, PostgreSQL mailing lists <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: Re: ERROR: type of parameter 1 (fruit2) does not match that when preparing the plan (fruit1)
Date: 2022-05-01 19:46:50
Message-ID: 1699527.1651434410@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-hackers

"David G. Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> writes:
> On Sun, May 1, 2022 at 10:08 AM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> Maybe we could improve this situation by treating a "record" parameter
>> as polymorphic, though that might cause some odd inconsistencies with
>> plpgsql's historical treatment of "record" local variables.

> The extent of needing to treat "record" as polymorphic-like seems like it
> would be limited to resolve_polymorphic_argtype in funcapi.c. Namely, in
> computing the hash key for the compiled hash entry for the function.
> Similar to how we append the trigger oid in compute_function_hashkey in
> pl.compile (which ultimately calls the former) so trigger invocations
> become per-table.

I'm hesitant to touch funcapi.c for this; the scope of potential
side-effects becomes enormous as soon as you do.

regards, tom lane

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message David G. Johnston 2022-05-02 02:22:43 Re: ERROR: type of parameter 1 (fruit2) does not match that when preparing the plan (fruit1)
Previous Message David G. Johnston 2022-05-01 19:34:43 Re: ERROR: type of parameter 1 (fruit2) does not match that when preparing the plan (fruit1)

Browse pgsql-hackers by date

  From Date Subject
Next Message Daniele Varrazzo 2022-05-01 20:35:52 Libpq single-row mode slowness
Previous Message David G. Johnston 2022-05-01 19:34:43 Re: ERROR: type of parameter 1 (fruit2) does not match that when preparing the plan (fruit1)