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

Поиск
Список
Период
Сортировка
От David G. Johnston
Тема Re: ERROR: type of parameter 1 (fruit2) does not match that when preparing the plan (fruit1)
Дата
Msg-id CAKFQuwbjOSOxwLPWFrVGd_c3fY8GLsezr7Zs1OpDVN8HRABR1g@mail.gmail.com
обсуждение исходный текст
Ответ на Re: ERROR: type of parameter 1 (fruit2) does not match that when preparing the plan (fruit1)  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: ERROR: type of parameter 1 (fruit2) does not match that when preparing the plan (fruit1)  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-bugs
On Sun, May 1, 2022 at 10:08 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
"David G. Johnston" <david.g.johnston@gmail.com> writes:
> On Sun, May 1, 2022 at 8:44 AM d <dchuck@yurfish.com> wrote:
>> CREATE OR REPLACE FUNCTION record_to_form_data(p_r record)

> Not a bug, it is a documented limitation.

FWIW, it does seem to work as desired if you declare the argument as
"anyelement".

+1
 

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.

David J.

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: ERROR: type of parameter 1 (fruit2) does not match that when preparing the plan (fruit1)
Следующее
От: Tom Lane
Дата:
Сообщение: Re: ERROR: type of parameter 1 (fruit2) does not match that when preparing the plan (fruit1)